一个c程序简单的题目

来源:百度知道 编辑:UC知道 时间:2024/05/14 19:35:13
1:a%=(n%=2)设a=12,n=5,求表达式的值.
2:x+a%3*(int)(x+y)%2/4 设 x=2.5,a=7,y=4.7,求值.
3:(float)(a+b)/2+(int)x%(int)y 设a=2,b=3,x=3.5,y=2.5,求表达式的值.要有计算过程.

1. a=a%(n=(n%2)) 运算顺序为从右到左 所以答案为 “0”
2. 你给出的例子的运算顺序为:
1. (int)(x+y)
2. a%3
3. (a%3)*(int)(x+y)
4. ((a%3)*(int)(x+y))%2
5. (((a%3)*(int)(x+y))%2)/4.
所以答案为 “2.5”
3. 先执行(a+b)=5,执行(float)(a+b)=5;
其次 (float)(a+b)/2=2.5;
然后(int)x=3,(int)y=2, 再(int)x%(int)y=1;
最后 答案为 “3.5”
我做的答案都是绝对正确的!都是先想多后再经过编译运行的结果,所以绝对可靠!你自己看看吧,然后再仔细想想。:-)

The order between variable operators was examined.
Look up corresponding reference and review it.

1:a=12,n=1//n=n%2=5%2=1,a=a%n=12%1=12
2:2.75 //(int)(x+y)=7,a%3=1,a%3*(int)(x+y)=7,
//7%2=1,1/4=0.25,x+0.25=2.75
3:3.5 //(float)(a+b)/2=2.5,(int)x%(int)y=1,
//和为:2.5+1=3.5
如果有错还请各位指教啊!!!!