问题 单项选择题

有以下程序:
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。

单项选择题
单项选择题 案例分析题