我的函数正在进入无限循环。问题是反转数组的前 n 个整数,例如: array {2,4,1,3}
将反转为 {4,2,1,3}
由于第一个数字是 2,因此它会交换前 2 个数字,依此类推。
有什么想法吗? :)
我的代码:
int *reverse(int *arr,int n)
{
int w;
int q=arr[0]-1;
int first_value = arr[0];
for(w=0; w<=first_value; w++)
{
arr[w] = arr[q];
q--;
}
return (arr);
}
最佳答案
int *reverse(int *arr,int n){
int i, temp;
for(i = 0; i < --n ; i++){
temp = arr[i];
arr[i] = arr[n];
arr[n] = temp;
}
return arr;
}
关于c - 在 C 编程中反转前 n 个数字的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29526868/