关于C语言基础的问题,要求解过程6

1.如果有定义和语句: float x=34213.6894; printf("%012.2f",x);,
输出的结果是00034213.69还是000034213.69?

2.main()
{ float a; int b;
b=a=24/5;
ptintf("%f,%d",a,b);}
输出是什么?如果把 b=a=24/5;换成a=b=24/5呢?
答案给的是不换输出4.900000,4
换了后输出4.000000,4

第1个回答  2008-01-23
1。0代表空格马?是的话应该是后者12.2就是长度取12位 小数点后取2位
2。因为a是float型 a=24/5 得到a=4.000000因为b是int型所以b=4 换一换结果一样
怎么会不对呢?“/”得出的是整数,如果是24.0/5或者24/5.0那结果才是4.8
答案有问题吧 我用TC2试过了输出的都是4.000000和4本回答被提问者采纳
第2个回答  2008-01-23
1 %012.2f
012表示前面输出12位不足补0
.2表示小数点后2位
000034213.69
2 b=a=24/5;
输出是4.800000和4,
a=b=24/5输出是4.00000和4,
原因是执行顺序是先右后左
第3个回答  2008-01-23
000034213.69

答案错了,换不换都是4.000000,4
因为24/5作的整数除法
除非b=a=24/5.0;
或b=a=24.0/5;
或b=a=24.0/5.0;
换不换才有区别。
第4个回答  2008-01-23
1 输出结果是000034213.69,共计12位,小数点后保留2位
2 b=a=24/5;输出是4.8和4,a=b=24/5输出是4.000和4,这是应为强制转换
第5个回答  2008-01-23
0原样输出,后者
二\
(1)4.8,4
(2)4,4
相似回答