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

为什么结果是1啊?... 为什么结果是1 啊? 展开
 我来答
斯欧康0Z
2010-05-26 · TA获得超过1416个赞
知道小有建树答主
回答量:558
采纳率:0%
帮助的人:294万
展开全部
(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
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式