为什么i 和isPrime 的初始化要放在循环体里才能得出正确答案

为什么i 和isPrime 的初始化要放在循环体里才能得出正确答案


```#include<stdio.h>
int main()
{
    int n = 2;
    for (n = 2; n < 100; n++)
    {
        int i = 2;
        int isPrime = 1;
        for (i = 2; i < n; i++)
        {
            if (n % i == 0)
            {
                isPrime = 0;
                break;
            }
        }
        if (isPrime == 1)
            printf("%d " ,n);
    }
    return 0;
}

因为对每个 n (n 从 2 一直循环变化到 99) ,寻找他的因子 i = 2 开始,一直循环到 i = n - 1 为止,找到了 isPrime = 0 ,所以需每次 i = 2 ,isPrime = 1 开始。