【C语言学习疑难杂症】第9期:关于%*s以及%*d等的使用
关于%*s的使用的一些问题
int a,b;
scanf("%2d%*3s%2d", &a, &b);//123456789
printf("%d%d", a, b);//1267
scanf("%2d%*2s%2d", &a, &b);//123456789
printf("%d%d", a, b);//1256
scanf("%2d%*s%2d", &a, &b);//123456789 0
printf("%d%d", a, b);//120
上面前面两种例子里,诸如%2d,它是从输入中读取2位的宽度作为一个整数,%*3s,则是用于过滤3个宽度的输入字符。
对于第三种情况,必须要输入空格后的第二部分内容。因为%*s它没有限定忽略的长度,所以它会遇到你输入一个空格后才结束,然后把0读进去,给到b变量。