int a=7; float x=2.5.y=4.7;则x+a%3*(int)(x+y)%2/4的值是,求解释

我请问下,int a=7; float x=2.5.y=4.7;则x+a%3*(int)(x+y)%2/4的值是,求解释
最新回答
墨语三千

2024-10-14 10:17:25

根据
运算符优先级
,先算x+后面的。a%3就是7对3取余,至此算式简化为:x+1*(int)(x+y)%2/4。1*可以省略,先算括号里的,再次简化为x+(int)7.2%2/4。此时将7.2转为int型,算式变为x+7%2/4,先算7%2,结果为1,算式至此简化为x+1/4。而1/4为0,因为1除以4商0余1。这样算式就成了x+0,即2.5+0,所以整个式子的值为2.5。
我不勇敢

2024-10-14 08:59:37

c语言中,整数的乘除结果依旧为整数
失心疯〆

2024-10-14 08:19:02

同意楼上的说法!