关于二C的问题,答对了再给分

来源:百度知道 编辑:UC知道 时间:2024/05/17 07:44:42
int b=7,float a=2.5,c=4.7
则表达式a+(int)(b/3*(int)(a+b)/2)%4的值为?
请说明怎么算的,答对了再给分,谢谢

主要是强制运算了(c 没有用过啊)

a+b=7.5

(int)(a+b)=7

b/3=2

b/3*(int)(a+b)/2=7
(int)(b/3*(int)(a+b)/2)%4=1

a+(int)(b/3*(int)(a+b)/2)%4=3.5

a+b = 2.5+7 = 9.5
(int)(a+b) = (int)9.5 = 9
b/3*(int)(a+b)/2 = 7/3*9/2 = 2*9/2 = 9
(int)(b/3*(int)(a+b)/2)%4 = (int)9 = 9
a+(int)(b/3*(int)(a+b)/2)%4 = 2.5 + 9%4 = 2.5 + 1 = 3.5

a+b=9.5
(int)(a+b)=9
因为b是整型的,所以b/3=2,也为整型
所以(int)(2*9/2)=9
9%4=1
所以,a+1=3.5
如果你把此式赋值给一个整型的变量,则结果为3
如果你把此式赋值给一个实型的变量,则结果为3.5