为什么dev编译运行会报错 ld returned 1 exit status
#include<stdio.h>
#include<math.h>
int set(int a[],int n) {
int i,j,k,x;
x=n;
for(i=0; i<x; ++i) {
j=i+1;
k=i+1;
while(j<=n) {
if(a[j]==a[i]) {
j++;
x--;
} else {
a[k]=a[j];
k++;
j++;
}
}
}
return x;
}
int main() {
int i,n;
scanf("%d\n",&n);
int a[n];
for(i=0; i<n; ++i) {
scanf("%d",&a[i]);
}
set(a,n);
int m=set(a,n);
for(i=0; i<m; ++i) {
printf("%d ",a[i]);
}
printf("\n");
printf("%d",m);
return 0;
}