我想知道scanf中格式说明符后的空格含义。 scanf中有许多与空间相关的帖子,其中大多数都是关于%c之前的空间。在下面的代码中,我必须为第一个scanf输入第二个字符才能返回。只需输入回车键就不会破坏scanf。由于第二个字符,用于读取字符串的第二个scanf也会受到影响。 我可以说%c之后的空格是否忽略了字符后输入的所有空格并等到下一个字符?但为什么"进入" key不被视为角色本身?
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);
答案 0 :(得分:1)
如果您在"%c"
之后使用尾随空格,那么scanf
将需要找到下一个非白色空间才能返回。如果没有,则scanf
将永久阻止。