如下两段代码:
1、
for(j=n;j>=0;j--){
if(a>b)
语句1;
}
2、
for(j=n;j>=0 && a>b;j--){
语句1;
}
我这边测试的效果不一样,实在弄不懂原因,麻烦大家帮忙看一看,谢谢了。
------解决思路----------------------
for循环的执行顺序
for(条件1;条件2;条件3){
语句4;
}
首先初始执行条件1,然后执行条件2,符合条件2执行语句4,然后执行条件3,然后条件2...
你可以想一下,如果你条件2不符合就会停止循环,差异就在这里了,你的第2段代码,如果不符合条件2就没有循环了
------解决思路----------------------
这效果当然会不一样了。
第1个,如果a>b返回false的话,循环会继续执行,因为if在循环之中,并不能影响循环。
第2个则不同,如果a>b返回false,循环会直接终止。
连个的效果,相当与下面两段程序,一看便知。
1.
for(j=n;j>=0;j--){
if(a>b){
语句1;
}else{
continue;
}
}
2.
for(j=n;j>=0;j--){
if(a>b){
语句1;
}else{
break;
}
}