C语言找一下bug,哪里有问题?

img


为什么这个程序输出后没有结果,不知道是哪一步错了,完数是自己等于自己因子的和,

for(int i=2;i<=1000;i++)
{
    sum = 0;
    for(i2=1;i2<i;i2++)
    {
        if(i%i2==0)
            sum += i2;
    }
    if(sum == i)
        printf("%d",i);
}

在第二个循环里 没有定义i2的初始值,因此不符合后边的条件,无法进入循环。