求看看程序,有两个错误,求交并集 cannot convert from '' to 'int (__cdecl *)(int,int,int)'
#include<stdio.h>
void main()
{
int less(int a[10],int b[10],int result[20]);
int more(int a[10],int b[10],int result[20]);
int a[10],b[10],result[20],n,m,g[20],h[20];
int (*c[20])(int,int,int)={less,more};
printf("输入1为交集\n");
printf("输入2为并集\n");
printf("select your choice\n");
scanf("%d",&n);
printf("input number:\n");
for(m=0;m<10;m++)
{
scanf("%d",a[m]);
}
printf("input number:\n");
for(m=0;m<10;m++)
{
scanf("%d",b[m]);
}
for(n=0;n<20;n++)
{
}
for(m=0;m<10;m++)
g[m]=c[m](a[10],b[10],result[20]);
for(m=10;m<20;m++)
h[m-10]=c[m](a[10],b[10],result[20]);
if(n=1)
{for(m=0;m<10;m++)
printf("%d",g[m]);}
if(n=2)
{for(m=0;m<10;m++)
printf("%d",h[m]);}
}
int less(int a[10],int b[10],int result[20])
{
int m,n,k=0,*p;
for(m=0;m<10;m++)
{
for(n=0;n<10;n++)
{
if(a[m]=b[n])
{
result[k]=a[m];
k++;
}
}
}
p=result;
return *p;
}
int more(int a[10],int b[10],int result[20])
{
int m,n,k=0,*p;
for(m=0;m<10;m++)
{
result[k]=a[m];
k++;
}
k=11;
for(n=0;n<10;n++)
{
if(b[n]!=result[0]&&b[n]!=result[1]&&b[n]!=result[2]&&b[n]!=result[3]&&b[n]!=result[4]&&b[n]!=result[5]&&b[n]!=result[6]&&b[n]!=result[7]&&b[n]!=result[8]&&b[n]!=result[9])
{
result[k]=b[n];
k++;
}
}
p=result;
return *p;
}