问题 单项选择题

有以下程序: main() { int a=1,b=2,m=0,n=0,k; k=(n=b>a)||(m=a<b); printf("%d,%d\n",k,m); } 程序运行后的输出结果是 ______。

A.0,0

B.0,1

C.1,0

D.1,1

答案

参考答案:C

解析: 本题考查“逻辑或”运算的特例。本题中执行语句k=(n=b>a)||(m=a<b)时,首先计算表达式(n=b>a)|| (m=a<b)的值,因b=2,a=1,所以b>a成立,即得n=1,故表达式(n=b>a)||(m=a<b)的值为真,不再执行表达式 m=a<b,故执行完表达式k=(n=b2>a)||(m=a<b)后,n=1、m=0、k=1。

单项选择题
单项选择题