main() { int A; float B, C; scanf("%2d%3f%4f",&A,&B,&C); printf("\nA=%d,B=%f,C=%f\n",A,B,C); }

若运行时从键盘上输入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;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-28

#include<stdio.h>

void main() 

{ int A; float B, C; 

scanf("%2d%3f%4f",&A,&B,&C); 

printf("\nA=%d,B=%f,C=%f\n",A,B,C);

 }

本回答被网友采纳
第2个回答  2012-12-30
A=98,B=765.000000,C=4321.000000
第3个回答  2012-04-07
A=98,B=765.000000,C=4321.000000
相似回答