为什么说与声明中的类型不匹配
#include "stdio.h"
main()
{
int a[]={12,2,23,3,34,4,45,5,56,6,67,7,78,8,89};
ShellSort(a,15);
}
void ShellSort(int A[],int n)
{
int x;
int i,j,d;
for(d=n/2;d>=1;d/=2)
{
for(i=d;i<n;i++)
{
x=A[i];
for(j=i-d;j>=0;j-=d)
{
if(x<A[j])
A[j+d]=A[j];
else
break;
}
A[j+d]=x;
}
}
}
编译后提示ShellSort与声明中的数据类型不匹配,这是什么意思,到底哪里出错了?
参考答案:把main函数放最后
或者先声明一下 ShellSort:
void ShellSort(int A[],int n);
main()
{
...
}
void ShellSort(...)
{
...
}