若有以下定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为___________。(x+y)%2+(int)a⼀(int)b

为什么结果是1 啊?
2024年11月15日 20:34
有1个网友回答
网友(1):

(x+y)%2+(int)a/(int)b
其实就是
(3+2)%2+(int)2.5/(int)3.5
首先执行括号里面的内容,得到表达式:
5%2+(int)2.5/(int)3.5
小数强制转换成整数,只会得到整数部分!所以得到表达式:
5%2+(int)2/3
"%"是取余的意思,所以5%2得到的余数是1 2/3是一个小于1的小数,转化成整数之后就是0,于是得到表达式:
1+0
所以最后的结果就是1