编译错误!快来帮帮我,上人求求了

#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
int a,b,t,c,n,i,j,p[10];for( n=100;n<=999;n++){a=n/100;b=(n%100)/10;c=n%10;if(n==pow(a,3)+pow(b,3)+pow(c,3))for(i=0;;p[i++]=n);}for(i=0;i<strlen(p)-1;i++)for(j=i+1;j<strlen(p);j++)p[i]>p[j]?(p[i]=p[i],p[j]=p[j]):(t=p[i],p[i]=p[j],p[j]=t);for(i=0;i<strlen(p);printf("%d ",p[i++]));return 0;}你不能对一个数组用strlen