scanf()中%*表示忽略掉一个输入项
一般形式为:%[*][数据宽度][数据长度]数据类型
其中有方括号的项为任选项
例如:
%*c表示忽略掉一个字符型的输入项
%*d表示忽略掉一个整数型的输入项
使用案例:
需要读写%d %d %c %d %d这种情况的时候,%d与%c之间的空格容易被读入,
这时候可以考虑加入%*c,“吃掉”%d与%c之间的空格符。
但我还遇到了一个奇怪的现象,像下面这样,后面的%d %d还是会出错
int i,j,m,n;
char Temp;
fscanf(fp, "%d%d%*c%c%d%d", &i, &j, &Temp, &m, &n);
但另起一行,分开读后面的%d %d就无误了,甚是奇怪
int i,j,m,n;
char Temp;
fscanf(fp, "%d%d%*c%c", &i, &j, &Temp);
fscanf(fp, "%d%d", &m, &n);