求x=(--m==n++)?--m:++n;的运算顺序.

求x=(--m==n++)?--m:++n;的运算顺序.
原题为
若“int x,y,z,m=10,n=5;”,执行下面3个语句:
x=(--m==n++)?--m:++n;
y=m++;
z=n;
则x,y,z的值分别为7,9,7.
求x=(--m==n++)?--m:++n;的运算顺序.
n++在什么运算之后进行啊?
king1525 1年前 已收到2个回答 举报

shijun830207 幼苗

共回答了25个问题采纳率:96% 举报

结果为7 9 7正确.n++在(--m==n++)中的--m==n比较完毕后执行.

1年前 追问

6

king1525 举报

这是因为有括号的原因吗?n++一般是在整个语句运算完之后才进行计算是吗?

举报 shijun830207

不是因为有括号,而是因为(--m==n++)是个独立的语句,它与后面的分支语句没有什么联系,运算完了,它的使命就完结了。这个语句有没有括号作用是一样的。

娃哈哈h885 幼苗

共回答了8个问题 举报

2*6+2*((N+1)*N+1)=2*6+2*31=74 注意不是2*6+2*((N+1)*(N+1))!!!

1年前

0
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 18 q. 0.018 s. - webmaster@yulucn.com