我的代码和答案不符,但找不出毛病

注释掉的是我的


/*int pow(int a,int b){
    int i,h=a;
    for(i=1;i<b;i++){
        a=a*h;
    }return h;
}
int narcissistic( int number ){
    int a,i,count=0;
    while(a!=0){
        a=number/10;
        count++;
        number=a;
    }
    int b,sum=0;
    while(b!=0){
        b=number%10;number=number/10;
        sum+=pow(b,count);
       
    }if(sum==number){return 1;
  }  else {return 0;}
}
void PrintN( int m, int n ){
    int s;
    if(m<n)
    for(s=m+1;s<n;s++){
        if(narcissistic(s)){printf("%d\n",s);
                           }
    }
}*/

int narcissistic( int number ){
    int exm, sum = 0, cnt = 0;
    exm = number;
    while( exm ){
        cnt ++;
        exm /= 10;
    }
    exm = number;
    int i; 
    while( exm ){
        i = exm % 10;
        sum += pow( i, cnt );
        exm /= 10;
    }
    if( sum == number){
        return 1;
    }else {
        return 0;
    }
}

void PrintN( int m, int n ){
    for(int i = m+1;i < n;i ++){
        if( narcissistic(i) ){
            printf("%d\n", i);
        }
    }
}

img