scanf中的换行符(\ n)

时间:2017-07-29 21:27:26

标签: c printf newline scanf

假设我写下面的代码:

#include<stdio.h>
int main()
{
    int a,b;
    scanf("%d\n",&a);
    printf("%d",a);
    return 0;
}

输入并且光标在下一行闪烁而不打印a的值 但是,如果我删除\n字符,则会在下一行自动打印a的值。
即使我在\n %dscanf)之前放置scanf("%d\n",&a);,也不会将光标移动到下一行,并取而代之在下一行接受输入。那么,scanf会自动接收下一行的输入吗?并且\n不能与scanf函数??

一起使用

实际上,我的问题是要我在三行输入三个整数。它写成Input: Three integers on three lines.
但是在尝试在\n中使用scanf时,它只是在获取输入后显示下一行中的光标闪烁。

1 个答案:

答案 0 :(得分:1)

isspace()的格式字符串中的任何空格字符(由scanf()确定)将导致它读取并丢弃字符,直到下一个字符读取为非空格或错误为止发生。

您没有输入任何其他非空格而不是数字?好吧,等一下好玩。