我试图通过将数组发送到函数来对数组进行排序,但在编译时出现错误。我的排序算法可能是错误的,但这不是重点。我想知道为什么我的编译器会出错。这是我的错误:
错误:'sortarray' 的类型冲突 void sortarray(int d[],int size)
注意:'sortarray' 的先前声明在这里是 void sortarray(int,int);
#include<stdio.h>
#define SIZE 9
void sortarray(int,int);
int main()
{
int i;
int c[SIZE]= {2,6,8,10,12,89,68,45,37};
printf("sorting array program: \n");
for (i = 0; i < SIZE; i++)
{
printf("%d ",c[i]);
}
printf("\n");
sortarray(c,SIZE);
for (i = 0; i < SIZE; i++)
{
printf("%d ",c[i]);
}
return 0;
}
void sortarray(int d[],int size){
int hold;
int i,j;
for (i = 0; i < size; i++)
{
for (j = 0; j < size-1; j++)
{
d[j+1]=hold;
d[j+1]=d[j];
d[j]=hold;
}
}
return;
}
错误信息非常清楚。
您将函数声明为:
void sortarray(int,int);
但将其定义为
void sortarray(int d[],int size)
它们并不相同,因为第一个参数的类型不同。
更改声明以匹配定义:
void sortarray(int [],int);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句