这个求解“完数”的代码错误在哪里呢?
程序代码:#include "stdio.h"
void main()
{
int i,j,n;
printf("1至1000之间的完数是:\n");
j=0;
for(i=2;i<=1000;i++)
{ int perfect(int n);
n=perfect(i);
if(n>0)
{printf("\n%5d=",i);
for(j=1;j<i;j++)
{if(i%j==0)
{if(j>1) printf("+");
printf("%5d",j);
}
}
}
}
getch();
}
int perfect(int n);
{
int i,sum;
sum=0;
for(i=1;i<n;i++)
{
if(n%i==0)
sum+=i;
}
if(sum==n) return sum;
return 0;
}







求解啊。。。。