8. ******执行下列程序段后,a的值是 . int a,b,c,m=10,n=9; a=(--m==n++)?--m:++n; A) 11 B) 10 C) 9 D)答案是D,不过我认为是C,为什么?
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 23:48:54
xRN@~.CwT)DEW^Ьl&"V*ȅ[V_fxg
cb╱I'g94Șu5~xJ;lXPyp]j7(xs@t.eZX/dDBa5H8sd^#Ap!1I^HlX߹'K6E%v2Ku^|6*5^[SnSSAd?i9(M9อO|zgj
X9]*!گUH8#.ѱ, PA/!^O= |JyĢfB#{>?u7?TB8
Ah7MYwgC5Fձ1y[ё~QU4lԚ}qwtޤEKhP%7Z
8. ******执行下列程序段后,a的值是 . int a,b,c,m=10,n=9; a=(--m==n++)?--m:++n; A) 11 B) 10 C) 9 D)答案是D,不过我认为是C,为什么?
8. ******执行下列程序段后,a的值是 . int a,b,c,m=10,n=9; a=(--m==n++)?--m:++n; A) 11 B) 10 C) 9 D)
答案是D,不过我认为是C,为什么?
8. ******执行下列程序段后,a的值是 . int a,b,c,m=10,n=9; a=(--m==n++)?--m:++n; A) 11 B) 10 C) 9 D)答案是D,不过我认为是C,为什么?
你的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)正确.