下面这段简单的c源码为什么改变一个语句,两次运行结果不一样?

[复制链接]
查看11 | 回复3 | 2012-1-19 09:36:13 | 显示全部楼层 |阅读模式
9/5,/的两边都是整数的话,/的结果只保留整数。即9/5=1,而不是1.8所以在写C语言程序的时候一定要小心,当你想结果有小数时,千万不要让/的两边同时出现整数,或整型变量...
回复

使用道具 举报

千问 | 2012-1-19 09:36:13 | 显示全部楼层
9 / 5 * celsius +329/5等于多少,等于1啊改为9.0 / 5.0 * celsius +32...
回复

使用道具 举报

千问 | 2012-1-19 09:36:13 | 显示全部楼层
因为celsius是float型,所以9 * celsius / 5的运算以float的方式实行;而9 / 5默认按照整数方式等于1,然后* celsius 时以float的方式实行。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行