scanf如何工作?键盘缓冲?

时间:2015-11-10 06:18:00

标签: c char int scanf

我想知道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获取该值,并且不允许我输入它。

但为什么在整数情况下不会发生这件事呢?

0 个答案:

没有答案