scanf中的换行符(\ n)

假设我写下面的代码:

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

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

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

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

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