C语言scanf语句中 %*2c 是什么意思?

如题所述

在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);
此时输出的就是正确的了。。。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-12-15
* 号是跳过。%*2c 是跳过2个 char 字符。本回答被提问者采纳
相似回答