跪求各位大佬指教

跪求!!!求各位大佬看看我这个哪写错了。

跪求各位大佬指教
跪求各位大佬指教
输出无限循环1

这是代码
#include<stdio.h>

#include<math.h>

int main(void)
{
int x;
scanf("%d",&x);//位数
int a[7];
int sum=0;
int b;//用来存储当前判定的数字
for(int i=pow(10,x-1);i<pow(10,x);i++)
{
b=i;
for(int j=0;j<x;j++){
a[j]=i%10;
i/=10;
}//将数字i上的数字存入数组中
sum=0;
for(int j=0;j<x;j++){
sum+=pow(a[j],x);
}
if(sum==b)
printf("%d\n",b);
}
return 0;
}