问题
单项选择题
设有定义: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不同。