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开始循环的?
展开
 我来答
不可执迷曹先生
2011-07-28 · 超过16用户采纳过TA的回答
知道答主
回答量:89
采纳率:0%
帮助的人:53.6万
展开全部
嵌套循环中,当程序执行到最外层循环时,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开始的原因。写了这么多,采纳我吧,以后又问题还可以问我
zhouyifeng2
2011-07-28 · TA获得超过328个赞
知道小有建树答主
回答量:197
采纳率:0%
帮助的人:44.3万
展开全部
你用了那个if(j>i) break呀,break是终止当前循环,在内层循环中,一开始i是1,但是j就会增长,就会增长到j>i了,条件就成立了,然后就跳出内层的循环了,当i变成2后,内层循环就重新开始了,所以j要重新赋值1了,i没有变成1是因为外层循环并没有结束
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
worldxa
2011-07-28 · TA获得超过1720个赞
知道小有建树答主
回答量:529
采纳率:0%
帮助的人:726万
展开全部
因为外循环每执行一次,都要重新执行内层循环,每一次都是被初始化为1

希望回答对你有帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
moon7912
2011-07-28 · TA获得超过118个赞
知道小有建树答主
回答量:222
采纳率:0%
帮助的人:315万
展开全部
因为当i = 1时 j要从1做到9 才是完成一次外层循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kxws
2011-07-28 · 超过24用户采纳过TA的回答
知道答主
回答量:71
采纳率:100%
帮助的人:48.6万
展开全部
因为你的内层for每次初始时,都会将j设成1啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式