求教一道c语言:main() {float d=2.2; int x,y; x=6.2; y=(x+3.8)/5.0;

问题描述:

求教一道c语言:main() {float d=2.2; int x,y; x=6.2; y=(x+3.8)/5.0; printf("%d\n",d*y);} 输出结果?
我觉的结果是2,首先x=2,y=1,那么实行按整形输出是强制转换,输出2.
但是结果一运行发现结果是0,这是怎么回事?
1个回答 分类:综合 2014-09-30

问题解答:

我来补答
如果你改成printf("%f\n",d*y)结果是2.200000
改成printf("%d\n",(int)(d*y))结果就是2
这是因为int可以顺利的转换成float,但是float要顺利转换成int,必须要强制转换,(int)(d*y)
如果float d = 2.2; printf("%d",d);结果还是0.
希望能帮到你~!
 
 
展开全文阅读
剩余:2000
上一页:pass..
下一页:复合函数求值域