int a;float b,c; scanf("%2d%3f%4f",&a,&b,&c); printf("\na=%d,b=%d,c=%f\n",a,b,c);

如题所述

a的输出应该是没有疑问的。问题是b读到的是765.0(实数),但是以%d格式输出就出错了。
必须要以%f格式输出b的值。如果要以整数形式输出,可以用 %.0f 输出b的值的。
b的格式改正后,c的输出也正常了。
#include

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;
}
温馨提示:答案为网友推荐,仅供参考
相似回答