c#的嵌套循环语句
代码如下:inti=1,j,result;for(i=1;i<10;i++){for(j=1;j<10;j++){result=i*j;if(j>i)break;.......
代码如下:
int i = 1 , j , result ;
for ( i = 1 ; i < 10 ; i ++)
{
for ( j= 1 ; j < 10 ; j++)
{
result = i * j ;
if ( j > i)
break;
......................................
}
}
输出之后是一张九九乘法表
第一次循环:i = 1 , j = 1 ,循环结束
第二次循环:i 经过 i ++ 之后变成了 2
可是内层循环 j 经过j++之后还是从1开始循环
第三次循环:i 经过 i ++ 之后变成了 3
可是内层循环 j 经过j++之后还是从1开始循环
疑问 :为什么里面的 j 那个循环每次都是1开始循环的? 展开
int i = 1 , j , result ;
for ( i = 1 ; i < 10 ; i ++)
{
for ( j= 1 ; j < 10 ; j++)
{
result = i * j ;
if ( j > i)
break;
......................................
}
}
输出之后是一张九九乘法表
第一次循环:i = 1 , j = 1 ,循环结束
第二次循环:i 经过 i ++ 之后变成了 2
可是内层循环 j 经过j++之后还是从1开始循环
第三次循环:i 经过 i ++ 之后变成了 3
可是内层循环 j 经过j++之后还是从1开始循环
疑问 :为什么里面的 j 那个循环每次都是1开始循环的? 展开
5个回答
展开全部
嵌套循环中,当程序执行到最外层循环时,i被赋值为1。执行判断:i<10为真,程序继续向下执行。当程序执行到内层循环时。j被赋值为1。执行判断:j<10为真,程序进入内层循环。内层循环语句执行完后,继续执行判断,此时j被赋值为2。继续判断是否小于10,为真则进入循环,为假则跳出循环,直到j=10,此时j<10为假,跳出内层循环,注意此时i=1,j=10。程序继续向下执行i++。此时i=2,小于10,程序继续向下执行,当执行到 for ( j= 1 ; j < 10 ; j++)时,j从新被赋值为1,于是j就从10变为1,这就是为什么每次j都要从1开始的原因。写了这么多,采纳我吧,以后又问题还可以问我
展开全部
你用了那个if(j>i) break呀,break是终止当前循环,在内层循环中,一开始i是1,但是j就会增长,就会增长到j>i了,条件就成立了,然后就跳出内层的循环了,当i变成2后,内层循环就重新开始了,所以j要重新赋值1了,i没有变成1是因为外层循环并没有结束
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为外循环每执行一次,都要重新执行内层循环,每一次都是被初始化为1
希望回答对你有帮助
希望回答对你有帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为当i = 1时 j要从1做到9 才是完成一次外层循环
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为你的内层for每次初始时,都会将j设成1啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询