c语言初学者求解完全数问题受阻

求解1000以内完全数,就是自己等于自己的所有真因数之和的数。我现在写的代码如下

img


但是运行什么也不输出

img


是什么问题啊🥺

sum在内循环出来要记得清0,也就是在第二个循环结束前加一句sum=0!!!!如果有用,记得采纳噢!

sum=0的位置放在两个for循环之间

#include <stdio.h>
int main() {
    int i,j,sum=0;
    for(i=2;i<=1000;i++){
        sum=0;
        for(j=1;j<i;j++){
            if(i%j==0){
                sum=sum+j;
            }
        }
        if(sum==i){
            printf("%d ",sum);
        }
    }
    return 0;
}