帮忙看个程序(N阶的水仙花数)

#include<stdio.h> int main() { int wap(int,int); int a, b, i, m, n; int sum = 0; scanf("%d",&n); for(i=100; i<=999; i++) { a = i; while(a!=0) { b = a%10; m = wap(b,n); sum = sum +m; a = a/10; } if(sum==i) printf("%d",i); } return 0; } int wap(int b,int n) { if(n==0) return 1; else return b*wap(b,n-1); }帮忙看看哪错了,谢谢。