我错在哪里?c++求三位数内(999<x<1000)的水仙数(水仙数: 如153=1^3+5^3+3^3,153就是水仙数)自己编的运行后无结果

#include<stdio.h>
int main(void)
{
    int i=0, j=0,num=0,sum=0,l;
    for (i = 100; i < 1000; i++)
    {
        num=i;
        for (l = 1; l < 4; l++)
        {
            j = num % 10;
            sum = sum + j * j * j;
            num = (num - (num % 10)) / 10;
        }
        if (sum == i)
            printf("%d\n", sum);
    }
    return 0;
}

在第一重循环里需要把sum置0,否则一直累加了。