scanf中的换行符(\ n)
假设我写下面的代码:
#include int main() { int a,b; scanf("%d\n",&a); printf("%d",a); return 0; }
输入并且光标在下一行闪烁而不打印a的值。
但是如果我删除\n
字符,它会在下一行自动打印a的值。
即使我在scanf
( scanf("%d\n",&a);
)中的%d
之前放置一个\n
,它也不是将光标移动到下一行,而是取输入而不是输入在下一行。 那么, scanf
自动接收下一行的输入吗? 并且\n
不能与scanf
函数一起使用??
实际上,我的问题是要我在三行中输入三个整数。 写入Input: Three integers on three lines.
但是在尝试在scanf
使用\n
时,它只是在获取输入后显示下一行中的光标闪烁。
scanf()
格式字符串中的任何空白字符(由isspace()
确定scanf()
将导致它读取并丢弃字符,直到下一个字符读取为非空格或发生错误。
你没有输入任何其他非空格而不是数字? 好吧,等一下好玩。