如何使scanf不忽略空格和C中的\ n

时间:2018-11-10 09:26:05

标签: c char scanf

所以,我目前正在上课学习C代码,我们为Stopr编码器分配了一个赋值对象。我设法做到了,但是现在我遇到了一个问题,他们希望他们承认其中的空格和换行符。我已经在线检查了,看到了很多选择,但是有一些问题:

1)我必须使用scanf,所以不要再提供第二个选择

2)我使用的是常规字符而不是字符串,因为在本课程中他们还没有教过,所以不要使用char []或字符串或char *,因为我不应该使用它们。 预先感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用scanf一次读取一个字符,并且空格不会被忽略:

#include <stdio.h>

int main(int argc, char *argv[]) {
  printf("Will print all characters typed, use ctrl-D to quit\n");
  char c;
  while (scanf("%c", &c) != EOF) {
    printf("%c", c);
  }
}