gpt4 book ai didi

c - 用 C 语言对数组进行冒泡排序

转载 作者:行者123 更新时间:2023-11-30 21:20:56 25 4
gpt4 key购买 nike

    #include <stdio.h>

int main(){

void sorting(){

int a[4];
a[0]=1;
a[1]=6;
a[2]=15;
a[3]=3;
a[4]=19;
int size = 4;

int t =1;
if (size ==0) return; // ie if you reach to the end stop


int i;
for (i=0;i<size-1;i++){

if(a[i+1] >a[i]) { //if the +1 element is bigger than before it do the swap

int j;
j= a[i+1];
a[i+1]=a[i]; //swap
a[i] = j; //swap

}
}
sorting(*a,size - 1);//recursion

void print_int() {
int i; // Loop counter

for (i = 0; i < 4; i++) {
printf("%d\n", a[i]);
}}

}

它编译正常,但是当我尝试运行该文件时什么也没有出现?我的意图是创建一个数组对它们进行排序然后显示它们。

此外,发生递归的代码“sorting(*a,size - 1);//”如果我尝试用 a[] 替换 *a 就会发生错误。这是为什么?错误是“']'标记之前的预期表达式错误”!

谢谢。

最佳答案

int a[4];

但是您访问的 a[4]=19; 索引 4 超出范围。您可以访问最高索引3

我认为函数void sorting()应该在main之外定义。嵌套函数是GCC中的GNU扩展。

关于c - 用 C 语言对数组进行冒泡排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32589103/

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