有人可以帮我解释下面的嵌套 for 循环吗?

时间:2021-07-20 21:33:52

标签: c

我试图理解嵌套的 for 循环。我似乎无法理解为什么 0 一直打印到下一行。

#include <stdio.h>


int main()

{

    
    for(int i = 0; i <= 1; i++)

    {
    
        for (int k = i; k >= 0; k--)
        {
            printf("%d ", k);
        }
        printf("\n");
    }  
    


    return 0;
}

1 个答案:

答案 0 :(得分:2)

如果你在学习上付出更多的努力,你可以写:

int main(void)

{
    for(int i = 0; i <= 1; i++)
    {
        printf("outer(i = %d)\n\t", i);
        for (int k = i; k >= 0; k--)
        {
            printf("inner(i = %d, k = %d) ", i, k);
        }
        printf("\n");
    }  
}
outer(i = 0)
    inner(i = 0, k = 0) 
outer(i = 1)
    inner(i = 1, k = 1) inner(i = 1, k = 0) 

我相信这可以解释一切。