首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一个嵌套循环有关问题!至今没有想明白

2012-03-20 
一个嵌套循环问题!至今没有想明白inti,jfor(i0i 11i++)for(j0j 25j++)if(j*i25)breakprintf(

一个嵌套循环问题!至今没有想明白
int   i,j;
for(i=0;i <11;i++)
for(j=0;j <25;j++)
if(j*i==25)
break;
printf( "i=%d\nj=%d\n ",i,j);

请问i,j的值是多少?

为什么?
那位高手能详细解释下

[解决办法]
break只出了一层循环。
最终循环到底。
[解决办法]
等价:
int i,j;
for(i=0;i <11;i++)
{
for(j=0;j <25;j++)
{
if(j*i==25)
break;//这个break跳出的是j的循环,对i没有影响
}
}
printf( "i=%d\nj=%d\n ",i,j);
到i=10时没有j使得i*j=25
所以说i=10时j循环到底就是25
然后i=11时跳出i循环
所以i=11,j=25


[解决办法]
只有在i=5; j=5时, 才执行break, 但break只跳出内层循环,

所以i> 5以后, 再没有机会执行break, 最后:

i==11; j==25
[解决办法]
break只能跳出一层循环。
故:
i=11
j=25

热点排行