scanf();
在要用scanf连续赋值的地方,要注意其会有多一个回车符’\n’输入到内容中。如果缓冲区还有数据,scanf()则不会阻塞等待用户的输入。
当程序代码,输入一个字母时,会出现如下情况:
#include
int main()
{
int a;
while(1)
{
printf("输入一个数\n");
scanf("%d",&a);
/*
while(1)
{
if(getchar() == '\n')break;
}
*/
switch(a)
{
case 1 : printf("这是一个1\n");break;
case 2 :printf("这是一个2\n");break;
case 3 : printf("这是一个3\n");break;
default : printf("其他情况\n");break;
}
}
return 0;
}
因此,要添加
这一串代码来清除缓冲区;
Printf():
在需要连续打印的地方,要注意添加‘\n’换行符。如果没有添加换行符,则缓冲区需要数据充满,才会一次性打印出来;
领取专属 10元无门槛券
私享最新 技术干货