int k=7;float a=2.5 ,b=4.7;a+k%3*(int)(a+b)%2⼀4;的值是多少,为什么

int k=7;float a=2.5 ,b=4.7;a+k%3*(int)(a+b)%2/4;的值是多少,为什么
2025-05-13 22:10:51
推荐回答(3个)
回答(1):

答案是:2.500000

符号%与乘除优先级相同,乘除优先级高于加减。从哪边开始要看是什么系统了,一般用windows  是从左到右计算。a+b=7.2    int(a+b)强制转化为整型7,然后k%3*(int)(a+b)%2/4的结果为0。所以最后结果为2.500000

回答(2):

在C/C++中,运算符%与乘除优先级相同,乘除优先级高于加减,括号优先级最高,同优先的运算符从左到右就计算。按这种方法算出来即可,其实k%3*(int)(a+b)%2/4的结果等于0,所以答案是:2.5。本人在vs2008平台下测得结果也是2.5。

回答(3):

c++里,7%2/4等于1/4,等于0。