用c语言写 指针将数组中的元素逆序存放
时间: 2023-12-11 08:33:59 浏览: 240
以下是用C语言实现指针将数组中的元素逆序存放的代码:
```c
#include <stdio.h>
void inv(int *x, int n);
int main() {
int i, a[10] = {3, 7, 9, 11, 0, 6, 7, 5, 4, 2};
printf("The original array:\n");
for (i = 0; i < 10; i++) {
printf("%3d", a[i]);
}
printf("\n");
inv(a, 10);
printf("The array has been inverted:\n");
for (i = 0; i < 10; i++) {
printf("%3d", a[i]);
}
printf("\n");
return 0;
}
void inv(int *x, int n) {
int i, tem;
for (i = 0; i < n / 2; i++) {
tem = x[i];
x[i] = x[n - i - 1];
x[n - i - 1] = tem;
}
}
```
相关问题
C语言写用指针将数组的元素逆序存放
可以使用以下代码将数组元素逆序存放:
```
void reverse_array(int *arr, int size){
int temp;
for(int i = 0; i < size / 2; i++){
temp = *(arr + i);
*(arr + i) = *(arr + size - i - 1);
*(arr + size - i - 1) = temp;
}
}
```
其中,`arr`是传入的数组的指针,`size`是数组的大小。循环中的代码将数组的第一个元素和最后一个元素交换,第二个元素和倒数第二个元素交换,以此类推,就可以将数组元素逆序存放。
C语言使用指针实现数组元素逆序存放
可以使用指针实现数组元素逆序存放,具体步骤如下:
1. 定义一个数组,并初始化数组元素。
2. 定义两个指针变量,分别指向数组的首地址和尾地址。
3. 使用 while 循环,交换首尾指针所指向的元素,并将首指针向后移动一位,尾指针向前移动一位,直到首尾指针相遇或者首指针大于等于尾指针为止。
下面是代码示例:
```c
#include <stdio.h>
int main()
{
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8};
int len = sizeof(arr) / sizeof(int);
int *p1 = arr; // 指向数组首地址的指针
int *p2 = arr + len - 1; // 指向数组尾地址的指针
while(p1 < p2)
{
int temp = *p1;
*p1 = *p2;
*p2 = temp;
p1++;
p2--;
}
// 打印逆序后的数组
for(int i = 0; i < len; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
```
输出结果为:
```
8 7 6 5 4 3 2 1
```
阅读全文