我想知道scanf
是如何运作的。区别在处理整数输入和字符输入时scanf
的工作。
int main()
{
int x , y ;
printf("Enter A Number x : ");
scanf("%d" , &x);
printf("Enter Any Number Y : ");
scanf("%d" , &y);
return 0;
}
在上面的程序输出是输入数字X:我输入一个数字。然后它 再次询问任何数字y。我输入该号码,程序终止。
但是在下面写的程序中,它要求性格。我进入了 字符。之后它再次要求一个角色,但它终止而没有给我一个输入角色的选项。
int main()
{
char x , y ;
printf("Enter A char x : ");
scanf("%c" , &x);
printf("Enter Any char Y : ");
scanf("%c" , &y);
return 0;
}
我知道当我输入第一个字符并按下回车时。
该输入存储在键盘缓冲存储器中,下一个scanf
获取该值,并且不允许我输入它。
但为什么在整数情况下不会发生这件事呢?