c语言中有两个for

Python017

c语言中有两个for,第1张

这2个for的第一次执行完第一个

for(i=0i<=9i++)

a[i]=i

以后在执行

for(i=9i>=0i--)

printf("%d",a[i])

二者没有任何关系

第一个循环

把i从0到9,自然而然就把数组的0-9号元素赋值了0-9

第二个循环

i从9到0,自然而然的就把9-

0号元素

一次输出

你这个问题就像是1+1为什么是2一样,容易明白解释困难,可意会不可言传

比如

for(i = 0 i < 5 i++)

    for(j = 0 j < 5 j++)

        printf("i = %d, j = %d\n", i, j)

先执行i=0,读取i<5的逻辑值为1,则为真,再开始内层循环。内层从j=0一直到j=4循环一整遍之后再执行i++,然后i=1<5,再把内层从j=0一直到j=4循环一整遍,如此循环。

执行结果如下(Code::blocks)

i = 0, j = 0

i = 0, j = 1

i = 0, j = 2

i = 0, j = 3

i = 0, j = 4

i = 1, j = 0

i = 1, j = 1

i = 1, j = 2

i = 1, j = 3

i = 1, j = 4

i = 2, j = 0

i = 2, j = 1

i = 2, j = 2

i = 2, j = 3

i = 2, j = 4

i = 3, j = 0

i = 3, j = 1

i = 3, j = 2

i = 3, j = 3

i = 3, j = 4

i = 4, j = 0

i = 4, j = 1

i = 4, j = 2

i = 4, j = 3

i = 4, j = 4

Process returned 0 (0x0)   execution time : 0.113 s

Press any key to continue.