作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/12 22:59:28
C语言 运算时 f=9/5*c+32 和 f=9*c/5+32 结果不一样啊
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结果会接近(或相同).