1个回答
展开全部
这就是C/C++运算符优先级的问题。
你首先要了解优先级的知识。在网上搜一下。
7题:a=3; a=b=(c=a+=6);
()的优先级最高,所以先运算c=a+=6;
=与+=的优先级相同,但运算顺序是自右向左,所以先运行a+=6, a=9,再运行c=a
之后运行a=b=9,自右向左,a最后=9
8题:x+a%3*(int)(x+y)%2/3; a=8, x=2.7, y=4.8;
同样,先计算(x+y)=7.5,然后式子成为:x+a%3*(int)7.5%2/3;
然后,/,*,%的运算优先级要小于(int)强制类型转换,所以先执行int(7.5)=7
x+a%3*7%2/3;
%,*,/的优先级相同,自左向右执行:a%3=2
2*7=14
14%2=0
0/3=0
所以最后式子:x+0
结果就是x=2.7
追问
大佬大佬 炒鸡感谢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询