这个问题已经有了答案:
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/

10-11 22:43
查看更多