作业帮 > 综合 > 作业

C语言中,a,b,c,d为double类型,数学表达式为5ab/7cd,在电脑中表达式5/7*a/c*b/d为什么是错的

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/10 15:30:29
C语言中,a,b,c,d为double类型,数学表达式为5ab/7cd,在电脑中表达式5/7*a/c*b/d为什么是错的
在5/7*a/c*b/d中,
先运算5/7,他们都是int型的,得到的结果也要是int型的0.这跟我们数学表达式是不一样的.
再问: 为什么a/c*5/7*b/d却是对的呢
再答: 不同类型的数据混合运算时,会自动把低级的的转化为高级的以保证精度不降低。 因为a/c的结果是double型,double型与int型的5相乘会自动把int型的5转化为double型。