来看一下C语言中这个float的问题

来源:百度知道 编辑:UC知道 时间:2024/07/07 23:54:09
我写的:
printf("%d\n",(float)(5+2));

为什么结果是0啊???

因为输出的为%d是int类型,不符合float类型的数据,若改为printf("%f\n",(float)(5+2)); 就会输出正确数据

类型失配
printf("%f\n",(float)(5+2));

前后的数据类型不配

要不把前面的输出格式改为%f,要不把后面的(float)去掉

%d是不能输出float类型的数据的。应该是printf("%f\n",(float)(5+2));
如果是你那样写的话,后面的数字如果是小数时,就是小数点后面不全为0的时候,输出就不是0了,例如:printf("%d\n",(float)(5.2345+2)); 这个与计算机浮点数的编码有关。

汗哦!!后面是整型啊,你为什么要强制转换成浮点型啊!!那样结果就不正确了