设有声明“int a=4,b=3,c=5;”,以下4个程序段中有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=c;}
详细讲讲他们的区别,谢谢~
选C
C里面因为是分号,因此 if 条件判断后只执行c=a; 后面两句跟 if 完全没关系,相当于
if (a > b)
{
c = a;
}
a = b;
b = c;追问
C里面因为是分号,因此 if 条件判断后只执行c=a; 后面两句跟 if 完全没关系,相当于
if (a > b)
{
c = a;
}
a = b;
b = c;追问
但是为什么做出来的结果完全一样呢?
追答因为这道题a本身大于b,所以结果完全一样,如果a<b,那么c=a不会执行
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-06-29