9月20日wti原油价格:强制类型转换问题!急!

来源:百度文库 编辑:神马品牌网 时间:2024/05/01 20:41:18
(int)(2.5+4.7)%2/4
是先算(int)(2.5+4.7)=7然后7%2=1,然后1/4=0.25
呢?
还是(2.5+4.7)=7,7%2=1,1/4=0.25,然后int 0.25=0呢?
还是都不对呀?我实在不清楚呀,高人请赐教!

两种算法都不对,但是第二个结果对,实际上是这样算的:
首先(2.5+4.7)=7,得到一个int型的7,然后执行7%2=1,再然后计算方法与你不同了,此时前面得的结果1也是int的,4也是int的,1/4就会直接等于int的0,不会再转成double的。。。

所以,如果要得第一种,不需要大动,需要把4改成4.0就可以了

我已经在VC调试过了,
double p=(int)(2.5+4.7)%2/4;得0
double p=(int)(2.5+4.7)%2/4.0;得0.25

第一种解释