在C语言中%*c 是用来吃掉垃圾的,吃掉输入时留下的 空格或者是回车时的垃圾。
例子:
#include <stdio.h>
int main()
{
int x;
char ch;
scanf("%d",&x);
scanf("%c",&ch);
printf("x=%d,ch=%d\n",x,ch);
return 0;
}
// 输入 :12 a 输出:12 32 因为在这种情况下ch接受的是12和a 中间的空格,空格的ASICC是32;如果改成 :
scanf("%d",&x):
scanf("%*c%c",&ch);
此时输出的就是正确的了。。。
温馨提示:内容为网友见解,仅供参考