这个问题已经有了答案:
What is the effect of trailing white space in a scanf() format string?
4个答案
函数显示,我在一个程序中错误地使用了scanf("%d\n",&val);
,我无法理解其行为。
int main(){
int val;
scanf("%d\n", &val);
printf("%d\n", val);
return 0;
}
现在程序需要2个整数输入,并打印输入的第一个输入。
额外的
\n
会带来什么不同?我试图搜索,但找不到答案,即使通过
scanf
手册。 最佳答案
格式字符串中的'\n'
-或任何空白字符-在输入中使用整个(可能为空)空白字符序列。因此scanf
只在遇到下一个非空白字符或输入流的结尾时返回(例如,当从文件重定向输入并到达其结尾时,或在使用ctrl-d关闭stdin之后)。
关于c - 在C语言的scanf()中使用“\n”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15443483/