若运行时从键盘上输入9876543210(表示回车),则上面程序的输出结果是
a的输出应该是没有疑问的。问题是b读到的是765.0(实数),但是以%d格式输出就出错了。
必须要以%f格式输出b的值。如果要以整数形式输出,可以用 %.0f 输出b的值的。
b的格式改正后,c的输出也正常了。
#include<stdio.h>
int main()
{int a;float b,c;
scanf("%2d%3f%4f",&a,&b,&c);
printf("1:\na=%d,c=%f\n",a,c);
printf("2:\na=%d,b=%d,c=%f\n",a,b,c);
printf("3:\na=%d,b=%.0f,c=%f\n",a,b,c);
return 0;
}