gpt4 book ai didi

c - 在 C 中,使用函数对数组进行排序而不使用指针是行不通的。为什么?

转载 作者:行者123 更新时间:2023-11-30 20:18:38 24 4
gpt4 key购买 nike

我试图通过将数组发送到函数来对数组进行排序,但在编译时出现错误。我的排序算法可能是错误的,但这不是重点。我想知道为什么我的编译器会出错。这是我的错误:

错误:“sortarray”的类型冲突 void sortarray(int d[],int size)

注意:之前的“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);

关于c - 在 C 中,使用函数对数组进行排序而不使用指针是行不通的。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53564381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com