作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/12 00:55:13
设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
设a=10,b=4,c=5,d=1,x=2.5 y=3.5
a+b,18+(b=4)*3,(a/b,a%b)是一个逗号表达式,最后一个表达式的值为该表达式的值,这里自然是(a/b,a%b),而它又是一个逗号表达式,继续后面的,即a%b=10%4=2,结果应该是2,不是42. 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