设a=10,b=4,c=5,d=1,x=2.5 y=3.5

设a=10,b=4,c=5,d=1,x=2.5y=3.5请问,a+b,18+(b=4)*3,(a/b,a%b)为什么是4中间的2个逗号怎么算的?还有x+a%3*(int)... 设a=10,b=4,c=5,d=1,x=2.5 y=3.5
请问,a+b,18+(b=4)*3,(a/b,a%b)为什么是4 中间的2个逗号怎么算的?
还有 x+a%3*(int)(x+y)%2/4+sizeo(int)为什么是4.50000
求详细解释
展开
 我来答
魔静蝎bn
推荐于2016-12-02 · TA获得超过4259个赞
知道大有可为答主
回答量:1469
采纳率:100%
帮助的人:1742万
展开全部
  1. a+b,18+(b=4)*3,(a/b,a%b)是一个逗号表达式,最后一个表达式的值为该表达式的值,这里自然是(a/b,a%b),而它又是一个逗号表达式,继续后面的,即a%b=10%4=2,结果应该是2,不是4

2. x+a%3*(int)(x+y)%2/4+sizeof(int)

x=2.5,a%3*(int)(x+y)%2/4=0,sizeof(int)是计算机中整数所占字节数,以前的计算机中大多以16位来算,所以=2,而现在大多数计算机都是32位或者64位,所以结果为4或者8,按照计算机的不同,结果可能为4.5 ,6.5或者10.5,未必就一定是你这里说的4.5,自己可以编程测试看。

追问
a%3*(int)(x+y)%2/4=0为什么,顺序怎么算的
追答
a%3*(int)(x+y)%2/4=0
顺序从左到右,括号优先
a%3*(int)(x+y)%2/4=10%3*(int)(2.5+3.5)%2/4=1*6%2/4=6%2/4=0/4=0
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式