knight9977 发表于 2020-2-16 20:29:16

这是为什么?

#include<stdio.h>

int main()
{
        int i,j;
        for(i = 1;i < 10;i++)
        {
                for(j = 1;j < 10;j++)
                {
                        if(j == 3)
                        {
                                break;
                        }
                }
        }
        printf("i=%d,j=%d\n",i,j);
        return 0;
}

i<10,为什么执行后i的结果不是9而是10呢?

zltzlt 发表于 2020-2-16 20:31:26

假设 i = 9:

i < 10 循环条件满足,继续循环
循环完成执行 i++
这时 i 变成了 10

i < 10 条件不满足(此时 i 为 10),退出循环

knight9977 发表于 2020-2-17 16:28:06

zltzlt 发表于 2020-2-16 20:31
假设 i = 9:

i < 10 循环条件满足,继续循环


谢谢,豁然开朗
页: [1]
查看完整版本: 这是为什么?