嵌套for语句的执行过程

int a, b; for (a = 1; a < 10;a++) { for (b = 1; b <= a; b++) { printf("*"); } printf("尀n"); }
2024-11-27 00:33:48
推荐回答(1个)
回答1:

这种 你只需要加上打印 即可知道执行的顺序了

或者 使用调试工具,源拦单步执行。

int a, b;
for (a = 1; a < 10;a++)
{
    printf("into loop a: a=%d\n", a);
for (b = 1; b <= a; b++)
{
     printf("runloop b: a=%d  b= %d\n", a,b);
}
    printf("out of loop a: a=%d\n", a);
}

执行后 输出如下:侍蚂

into loop a: a=1
runloop b: a=1  b= 1
out of loop a: a=1
into loop a: a=2
runloop b: a=2  b= 1
runloop b: a=2  b= 2
out of loop a: a=2
into loop a: a=3
runloop b: a=3  b= 1
runloop b: a=3  b= 2
runloop b: a=3  b= 3
out of loop a: a=3
into loop a: a=4
runloop b: a=4  b= 1
runloop b: a=4  b= 2
runloop b: a=4  b= 3
runloop b: a=4  b= 4
out of loop a: a=4
into loop a: a=5
runloop b: a=5  b= 1
runloop b: a=5  b= 2
runloop b: a=5  b= 3
runloop b: a=5  b= 4
runloop b: a=5  b= 5
out of loop a: a=5
into loop a: a=6
runloop b: a=6  b= 1
runloop b: a=6  b= 2
runloop b: a=6  b= 3
runloop b: a=6  b= 4
runloop b: a=6  b= 5
runloop b: a=6  b= 6
out of loop a: a=6
into loop 老裂埋a: a=7
runloop b: a=7  b= 1
runloop b: a=7  b= 2
runloop b: a=7  b= 3
runloop b: a=7  b= 4
runloop b: a=7  b= 5
runloop b: a=7  b= 6
runloop b: a=7  b= 7
out of loop a: a=7
into loop a: a=8
runloop b: a=8  b= 1
runloop b: a=8  b= 2
runloop b: a=8  b= 3
runloop b: a=8  b= 4
runloop b: a=8  b= 5
runloop b: a=8  b= 6
runloop b: a=8  b= 7
runloop b: a=8  b= 8
out of loop a: a=8
into loop a: a=9
runloop b: a=9  b= 1
runloop b: a=9  b= 2
runloop b: a=9  b= 3
runloop b: a=9  b= 4
runloop b: a=9  b= 5
runloop b: a=9  b= 6
runloop b: a=9  b= 7
runloop b: a=9  b= 8
runloop b: a=9  b= 9
out of loop a: a=9