两个C语言小问题,十分简单

1.3.9求下面算术表达式的值。 (1)x+a%3*(int)(x+y)%2/4 设x=2.5,a=7,y=4.7
答案是2.5,a%3*(int)(x+y)%2/4 这一串怎么算?我认为7%3*7%2/4=0.25,哪里不对啊?

3.12 写出下面表达式运算后a的值,设原来a=12
(4)a/=a+a
答案是0,为什么不是0.5?整型的原因?

x+a%3*(int)(x+y)%2/4 //先算(int)(x+y)
=2.5+7%3*7%2/4
=2.5+1*7%2/4
=2.5+7%2/4
=2.5+1/4 //1/4是整数除,因此为0
=2.5+0
=2.5

a/=a+a
相当于
a=a/(a+a)
=12/24 //12/24是整数除,因此为0
=0
温馨提示:答案为网友推荐,仅供参考