C语言o描述:编写一个函数,将一个整数数组中的元素反转。原数组不应被修改。 o输入:arr[] = {1, 2, 3, 4, 5}, length = 5 o输出:{5, 4, 3, 2, 1}
时间: 2024-10-23 10:02:33 浏览: 23
C语言--写一个函数,判断一个整数是否为回文数,是返回1,不是返回0(如果一个整数,从左右来读都一样,就称它为回文数
在C语言中,你可以通过创建一个新的数组来保存原始数组的反转,而不改变原来的数组。下面是一个简单的示例函数,它接受一个整数数组和其长度作为参数:
```c
#include <stdio.h>
// 函数声明,返回值类型为整型数组并接受整数数组和其大小作为参数
int* reverseArray(int arr[], int length) {
// 创建一个新的数组来存储结果
int reversed[length];
// 反转过程,从头到尾复制元素
for (int i = 0; i < length / 2; ++i) {
reversed[i] = arr[length - i - 1]; // 取最后一个元素放首位,以此类推
}
// 返回指向新数组的指针,表示反转后的数组
return reversed;
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int length = sizeof(arr) / sizeof(arr[0]); // 获取数组实际长度
int* reversedArr = reverseArray(arr, length);
printf("Reversed array: ");
for (int i = 0; i < length; ++i) {
printf("%d ", reversedArr[i]);
}
// 请注意,此处需要手动释放reversedArr所占用的内存,因为main函数结束时reversedArr会丢失其地址
free(reversedArr);
return 0;
}
```
当你运行这个程序时,它会输出 `Reversed array: 5 4 3 2 1`。
阅读全文