gpt4 book ai didi

c - 交换数组函数的两个元素

转载 作者:行者123 更新时间:2023-12-04 09:33:13 24 4
gpt4 key购买 nike

关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

4年前关闭。




Improve this question




你能告诉我这有什么问题吗?为什么交换功能不起作用?

void swap(int a[], int b, int c) {
int temp = a[b];
a[b] = a[c];
a[b] = temp;
}

void bubble1 (int a[], int N){
int i;
for(i=0;i<N-1;i++){
if(a[i]>a[i+1]){
swap(a,i,i+1);
}
}
}


void main() {
int N = 11;
int a[12]={5,3,12,4,25,10,14,35,2,8,13};

bubble1 (a,N);

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

如果我不使用交换功能并在“气泡”功能中手动进行交换,它就可以工作。但是,如果我使用交换它不起作用,即使它完全相同。我在这里做错了什么?

最佳答案

 int temp = a[b];
a[b] = a[c];
a[b] = temp;

简单的错字,您正在分配给 a[b]两次。第二个应该是 a[c]

关于c - 交换数组函数的两个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30792781/

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