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

2025-03-03 08:44:52
推荐回答(1个)
回答1:

  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,自己可以编程测试看。