gpt4 book ai didi

c - 通过指针反转顺序

转载 作者:行者123 更新时间:2023-11-30 15:25:22 27 4
gpt4 key购买 nike

我似乎无法解决教授给我的这个练习。所以我想在这个练习中使用指针来反转原始数组的顺序。

这是我到目前为止所做的。

#include <stdio.h>
#define SIZE 10

void reverse(int *a, int size);

int main(void){
int array[SIZE]={1,2,3,4,5,6,7,8,9,10};
int i;

printf("The original order is:\n");

for (i=0; i<SIZE; i++){
printf("%5d", array[i]);
}

reverse(array, SIZE);

printf("\nThe reverse order is:\n");

for (i=0; i<SIZE; i++){
printf("%5d", array[i]);
}

return 0;
}

void reverse(int *a, int size){
int j;
int hold;

for(j=0; j<size-1; j++){
hold = a[j];
a[j] = a[size-1-j];
a[size-1-j] = hold;
}
}

最佳答案

reverse 函数中,您确实交换了值,但又将它们交换回来!

试试这个:

void reverse(int *a, int size){
int j;
int hold;

for(j=0; j<size/2; j++){
hold = a[j];
a[j] = a[size-1-j];
a[size-1-j] = hold;
}
}

关于c - 通过指针反转顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27958088/

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