问题 单项选择题

设有定义:int a=1,b=2,e=3;,以下语句中执行效果与其他3个不同的是

A.if(a>b) c=a, a=b, b=c;

B.if(a>b) {c=a, a=b, b=c;}

C.if(a>b) c=a; a=b; b=c;

D.if(a>b) {c=a; a=b; b=e;}

答案

参考答案:C

解析: 选项A,if子句是一个逗号表达式,其效果与选项B和D相同,即当a>b成立时,执行c=a; a=b; b=c;语句,否则不执行。选项C中,当a>b成立时,执行c=a;后,再顺序地执行a=b; b=c;,与选项A、B、D相同;但当a>b不成立时,仍要执行a=b; b=c; 语句,与选项A、B、D不同。

选择题
单项选择题