yqtj=4*3.14*r*r*r/3; yqtj=4/3*3.14*r*r*r;有何不同
答案:1 悬赏:10 手机版
解决时间 2021-01-17 07:34
- 提问者网友:人生佛魔见
- 2021-01-16 20:38
yqtj=4*3.14*r*r*r/3; yqtj=4/3*3.14*r*r*r;有何不同
最佳答案
- 五星知识达人网友:刀戟声无边
- 2021-01-16 22:06
不一样
4/3先算他是按整形的除 ,因此是 1
而放到后面去,因为有一个 3.14在前面 表达式转换为float的了 ,因此/3是浮点除,是正确的追问4/3先算他是按整形的除
为什么按整型?
因为有一个 3.14在前面 表达式转换为float的了
为什么3.14在前面表达式就会转float型追答因为运算的时候优先级一致时,从左到右算
因此 4/3 4是整形 ,3也是整形 ,2个整形 除,当然是整形的除,结果是 1
而4*3.14 此时他就变为浮点型了,后面的全部操作都转换为浮点型
这是C的规定
在* / + - 中 ,有一个操作数是浮点型,比如说
4*3.14 他是这样操作的
(float)4 * 3.14
4/3先算他是按整形的除 ,因此是 1
而放到后面去,因为有一个 3.14在前面 表达式转换为float的了 ,因此/3是浮点除,是正确的追问4/3先算他是按整形的除
为什么按整型?
因为有一个 3.14在前面 表达式转换为float的了
为什么3.14在前面表达式就会转float型追答因为运算的时候优先级一致时,从左到右算
因此 4/3 4是整形 ,3也是整形 ,2个整形 除,当然是整形的除,结果是 1
而4*3.14 此时他就变为浮点型了,后面的全部操作都转换为浮点型
这是C的规定
在* / + - 中 ,有一个操作数是浮点型,比如说
4*3.14 他是这样操作的
(float)4 * 3.14
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯