-1
我想知道scanf中格式说明符之后的空格含义。在scanf中有很多与空间有关的帖子,其中大多数都是关于%c之前的空间。在下面的代码中,我必须输入第一个scanf的第二个字符才能返回。只需输入回车键不会中断scanf。由于第二个字符,读取字符串的第二个scanf也受到影响。 我可以说%c后面的空格是忽略字符后面输入的所有空格,并等到下一个字符?但为什么“输入”键不被认为是一个字符本身?格式说明符之后的scanf空格与格式说明符之前的空格(“%c”vs“%c”)
char str[50];
char c;
printf("Enter the Character:");
scanf("%c ",&c);
printf("Char read is: %c",c);
printf("Enter the string:");
scanf("%s",str);
printf("%s", str);
但是为什么Enter键不被视为非空白空间? – Rajesh
@Rajesh,因为[scanf](http://en.cppreference.com/w/c/io/fscanf)认为''\ n'是一个[空白字符](http://en.cppreference .COM/W/C /字符串/字节/ isspace为)... –