设x=2.5, a=7, y=4.7,则表达式x+a%3*(int)(x+y)%2/4的值

设x=2.5,a=7,y=4.7,则表达式x+a%3*(int)(x+y)%2/4的值能解释一下为什么答案是2.5吗,x后面的那部分不应该是0.25吗,然后2.5+0.2... 设x=2.5, a=7, y=4.7,则表达式x+a%3*(int)(x+y)%2/4的值能解释一下为什么答案是2.5吗,x后面的那部分不应该是0.25吗,然后2.5+0.25等于2.75。为什么答案会是2.5 展开
 我来答
风影美
2016-12-29 · TA获得超过1287个赞
知道大有可为答主
回答量:870
采纳率:100%
帮助的人:600万
展开全部
因为(int)是说运算结果强转成int,所以0.25从浮点数转完int就是0了
或者可以这么理解:
(int)(x+y) = 11
11%2 = 1
1/4 = 0 (因为int运算只取整数部分)
追问
int的强制转换是仅仅针对(x+y)呢还是针对(int)后面的所有运算呢
追答
(x+y)
如果是(int)((x+y)%2/4)的话就是全部

但是这两个没啥区别,因为你是跟2和4这两个整型数运算,所以最终结果一定还是int
创作者ITsdY6bVvx
2019-07-22 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:28%
帮助的人:871万
展开全部
%是取余运算
所以7%3=1
(int)(x+y)这里用了一个强制转换
把x+y的值转换为整型即7
1*7=7
7%2=1
/得到的结果是整数
舍去小数部分
1/4=0
0+2.5=2.5
所以答案是2.5
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式