for (i=0;i<cnt-1;i++) for(j=i+1;j<cnt;j++)与for (i=0;i<cnt;i++) {for(j=i+1;j<cnt;j++)}的区别
请问这俩到底有多大区别,我计算机上机,输进去这两种,都是100分。我是说i<cnt-1与i<cnt有没有区别...
请问这俩到底有多大区别,我计算机上机,输进去这两种,都是100分。
我是说i<cnt-1与i<cnt有没有区别 展开
我是说i<cnt-1与i<cnt有没有区别 展开
2个回答
展开全部
for (i=0;i<cnt-1;i++) for(j=i+1;j<cnt;j++)
外循环i的最大值是:i=(cnt-1)-1; 内循环j最大值是:j=i+1=cnt-1,也就是i+1=cnt-1,i=(cnt-1)-1;
所以,外循环最后一次时内循环j<cnt成立循环。
for (i=0;i<cnt;i++) 而这个外循环i的最大值是:i=(cnt-1)。比for (i=0;i<cnt-1;i++)多了一次循环。
但是i=(cnt-1)>i=(cnt-1)-1,也就是i=(cnt-1)时,j=i+1=cnt,内循环j<cnt;条件不成立。停止循环。
所以内循环的次数没有变。
我也是初学,不对的地方请指教。
外循环i的最大值是:i=(cnt-1)-1; 内循环j最大值是:j=i+1=cnt-1,也就是i+1=cnt-1,i=(cnt-1)-1;
所以,外循环最后一次时内循环j<cnt成立循环。
for (i=0;i<cnt;i++) 而这个外循环i的最大值是:i=(cnt-1)。比for (i=0;i<cnt-1;i++)多了一次循环。
但是i=(cnt-1)>i=(cnt-1)-1,也就是i=(cnt-1)时,j=i+1=cnt,内循环j<cnt;条件不成立。停止循环。
所以内循环的次数没有变。
我也是初学,不对的地方请指教。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询