#include<stdio.h>
int main()
{
int a;
scanf("%d\n", &a);
printf("%d",a);
return 0;
}
请问运行到scanf函数的时候,我输入的\n会被立马认为是换行符吗?还是说在我按下回车键后才被认为是换行符?
之前看文章了解到scanf在遇到非空白符后的回车键才会往后面运行,我猜想是不是输入的"\n"还没有被当成换行符?
#include<stdio.h>
int main()
{
int a;
scanf("%d\n", &a);
printf("%d",a);
return 0;
}
\n什么时候都不会被认为是空白符
你是说数据分隔符吗
你只要求输入一个数据,这里没分隔符什么事
而你要求输入一个换行
那么当你输入了一个换行,这个换行会被当做scanf里要求的换行,而不被认为是数据确认
所以你需要连续键入两个回车代码才会取消阻塞