#include <stdio.h> int main() { double a,b; a=40.0; b=(5/9)*(a-32); printf("%lf\n
答案:2 悬赏:60 手机版
解决时间 2021-02-12 03:40
- 提问者网友:感性作祟
- 2021-02-11 07:38
#include <stdio.h> int main() { double a,b; a=40.0; b=(5/9)*(a-32); printf("%lf\n",b); return 0; }
最佳答案
- 五星知识达人网友:几近狂妄
- 2021-02-11 09:06
5和9没有强制转换,系统默认是整型,所以5/9的结果也是整型,等于0(小数部分被截断),所以0乘以任何数等于0;
把5或9改为,5.0或9.0就可以了;追问为什么不能强制转换追答当然可以强制转换:
(double)5/9
或
5/(double)9追问方便加Q具体说明一下么 好像还是不行的样子
把5或9改为,5.0或9.0就可以了;追问为什么不能强制转换追答当然可以强制转换:
(double)5/9
或
5/(double)9追问方便加Q具体说明一下么 好像还是不行的样子
全部回答
- 1楼网友:忘川信使
- 2021-02-11 09:56
(5/9)
这两个是整数,计算出来是0,所以最后结果是0
写成double的数据
(5.0/9)
计算出来的数 就是非0了。追问怎么改追答前面已经提出修改的方法,看看好吧一追问能加下Q具体说明一下么追答写成double的数据
(5.0/9)
前面读得很清楚,那样修改就可以的了。
这两个是整数,计算出来是0,所以最后结果是0
写成double的数据
(5.0/9)
计算出来的数 就是非0了。追问怎么改追答前面已经提出修改的方法,看看好吧一追问能加下Q具体说明一下么追答写成double的数据
(5.0/9)
前面读得很清楚,那样修改就可以的了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯