A-A+
有以下程序: main(){ int a=1 b=2 m=0 n=0 k; k=(n
问题详情
有以下程序: main(){ int a=1, b=2, m=0, n=0, k; k=(n=b>A) ||(m=a<B) ; printf ("%d, %dn", k, m);} 程序运行后的输出结果是
A.0,0
B.0,1
C.1,0
D.1,1请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:C
解析:在“||”运算中当其左边的表达式为真,右边的表达式将不再执行。主函数中,“||”左边的表达式k=(n=b>a),“2>1”为真,所以n被赋值为1,接着k被赋值1,即“||”运算符左边表达式为真,此时不再计算“||”右边的表达式,因此m的值没有被改变仍为0,最后的输出结果1,0。所以,4个选项中选项C符合题意。