求解C语言x+a%3*(int)(x+y)%2⼀4,设x=2.5,y=4.7,a=7

最好写出详细的解答过程哦~
2025-02-25 16:08:00
推荐回答(2个)
回答1:

2.5

(x+y)%2/4
=7%2/4
=1/4
=(int)0.25=0
强制转换为 int时 变为零, 除以4之前的类型是整形,除得到的结果也应该是整形。所以是 0
前面的a%3结果是 1 ,
1再乘以后面的 0 结果为零
结果就等于x

回答2:

a%3 == 1
x+y == 7.2
(int)(x+y) == 7
a%3 * (int)(x+y) == 7
a%3 * (int)(x+y) %2 == 1
a%3 * (int)(x+y) %2 /4 == 0 (整形相除,结果为整形,所以为0)
x+0=2.5