首先getchar()函数是输入一个字符,通常采用此函数将scanf()未处理的量进行释放;
char a,b;
比如 scanf(“%c”,&a);
scanf("%c",&b);
printf("a:%c,b:%c\n",a,b);
此时你想让a=1,b=2;
你会这样输入1enter键加2加enter键 此时你会发现b的值为空,那是因为scanf()函数默认你最后的enter键不是消失而是放在缓冲区里,这时你再用scanf()的话,之前的enter键会从缓冲区里进入到你的第二个scanf(),所以你会出现这样的错误
此时你在第一个scanf()后加一个getchar();就没问题了;
如下:
char a,b;
scanf(“%c”,&a);
getchar();
scanf(“%c”,&b);
printf(“a:%c,b:%c”,a,b);