作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/05/01 07:49:05
求教一道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,这是怎么回事?
求教一道c语言:main() {float d=2.2; int x,y; x=6.2; y=(x+3.8)/5.0;
如果你改成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.
希望能帮到你~!