8. ******执行下列程序段后,a的值是 . int a,b,c,m=10,n=9; a=(--m==n++)?--

问题描述:

8. ******执行下列程序段后,a的值是 . int a,b,c,m=10,n=9; a=(--m==n++)?--m:++n; A) 11 B) 10 C) 9 D)
答案是D,不过我认为是C,为什么?
1个回答 分类:综合 2014-09-20

问题解答:

我来补答
你的D)没有内容,如果D)的内容是8的话那应该是D).
因为条件句--m==n++中--m是前增1符,要先计算,即m=m-1=10-1=9;而n++是后增1符,要在表达式计算后才增1,所以n=9不变.这样表达式--m==n++就是9=9为真.那么?语句就要将紧跟在?后的表达式的计算结果赋给a而不理会:后的表达式;本题中紧跟在?后的表达式是--m,即要做m=m-1=9-1=8,即要把8赋给a,所以答案D)正确.
 
 
展开全文阅读
剩余:2000
上一页:bfds
下一页:知道的请解答