C语言 运算时 f=9/5*c+32 和 f=9*c/5+32 结果不一样啊

日期:2021-06-20 01:01:09 人气:1

C语言 运算时 f=9/5*c+32 和 f=9*c/5+32 结果不一样啊

那是因为计算机计算你这个表达式的时候是从左往右计算的;
f=9/5*c+32; 是这么计算的:
9/5 等于 1.8
但默认存储为 int 。
所以表达式就变成了f=1*c+32;
f=9*c/5+32; 是这么计算的:
先把9*c的值算出来,在除以5,再存储为int 类型结果不就不一样了吗~
P.S.
但我相信如果你吧c和f定义成double结果会接近(或相同)。
    A+
热门评论