先看代码:
#include <stdio.h>
int main()
{
int i = 0, j = 0, k = 0;
scanf("%d%*d%d", &i, &j, &k);
printf("i=%d,j=%d,k=%d\n", i, j, k);
return 0;
}
输出结果:
原因:? ? ? ?
????????在上述代码中,scanf函数的格式化字符串为"%d%*d%d",表示先读取一个整数,然后忽略一个整数,最后再读取一个整数。其中,%d表示读取一个整数,%*d表示忽略一个整数。
? ? ? ? 输入的5被忽略,j接收的是6