输出1-10000内水仙花数及个数,不知道为什么一直出错

#include<stdio.h>
#include<math.h>
int main()
{
int count=0,m,i,j,p,s=0;

for(i=1;i<10000;i++)
{
    j=i;
    while(i!=0){
        m=i%10;
        i=i/10;
        p=pow(m,3);
        s=s+p; }
    if(s!=j)continue;
    
    else { printf("1-10000的水仙花数有%ld\n",j);
           count++; }
}

printf("1-10000的水仙花数有%d个",count);
return 0;

}

img

在for循环里,把i赋值给力j,while循环里应该也是j,因为for循环成不成立判断的是i,而你的i在while一直在改变。