乘法表关于 for语句嵌套执行顺序问题求助
#include<stdio.h>int main()
{
int a,b,c;
for(a=1;a<=9;a++)
{
for(b=1;b<=a;b++)
{
c = a*b;
printf("%d*%d=%-3d",a,b,c);
}
printf("\n");
}
getchar();
return 0;
}
上面是for语句循环课程里提到的用for语句嵌套编写的乘法表
小白想了解。for语句的执行顺序。每一步怎么执行的。执行后的数据。
比如
程序开始
1.执行 a = 1 ;再判断 a<=9条件成立执行for语句2
2.执行 b = 1,在判断 b<=a条件成立执行输入语句
3.输出1*1=1
那么循环
从内到外是怎么执行的呢?
求解惑··搅了很久了。细节各种拆分 越拆越懵逼,拆的现在不知道怎么拆了。反正就是跟执行结果对不上!{:5_96:}
当b大于a的时候跳出内循环,a加一,再进内循环,再执行,直到外循环结束 水柔炎 发表于 2018-12-3 13:41
当b大于a的时候跳出内循环,a加一,再进内循环,再执行,直到外循环结束
a+1进入内循环之后 b是不是也要加1啊?这样 执行结果 是不是
1*1=1
2*2=4
3*3=9
···
9*9=81 っ綿綿舊情 发表于 2018-12-3 15:37
a+1进入内循环之后 b是不是也要加1啊?这样 执行结果 是不是
1*1=1
2*2=4
假设1*1执行完了。
那么跳出内层循环,a+1 =2;
进入内层循环,先执行b=1;在进行判断b<=a.满足条件执行循环体,最后执行b++.
Mountain_gs 发表于 2018-12-3 17:18
假设1*1执行完了。
那么跳出内层循环,a+1 =2;
进入内层循环,先执行b=1;在进行判断b
{:5_109:}多谢指导!总算明白了···{:5_109:}智商不太够用··给自己绕懵了! っ綿綿舊情 发表于 2018-12-3 15:37
a+1进入内循环之后 b是不是也要加1啊?这样 执行结果 是不是
1*1=1
2*2=4
弄明白了吧 好吧 我想要鱼B给我点!!! 能不能给我点我要下载一个东西呢,大哥赏50个!
页:
[1]