利用指针实现将一维数组中的n个数按相反顺序存放。
时间: 2023-02-24 19:03:43 浏览: 331
生成一维数组 并反序存放
下面是一种使用指针实现一维数组元素逆序存放的方法:
```
#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入数组大小:";
cin >> n;
int a[n];
cout << "请输入数组元素:";
for (int i = 0; i < n; i++) {
cin >> a[i];
}
int *left = a; // 定义指向数组首元素的指针
int *right = a + n - 1; // 定义指向数组末元素的指针
while (left < right) { // 当指针left指向的地址比right小时
int temp = *left; // 交换两个元素
*left = *right;
*right = temp;
left++; // 后移指针
right--; // 前移指针
}
cout << "逆序后的数组:";
for (int i = 0; i < n; i++) {
cout << a[i] << " ";
}
cout << endl;
return 0;
}
```
上面的代码实现了将数组a中的n个元素以相反的顺序存放的操作。首先,定义了指向数组首元素的指针left和指向数组末元素的指针right,随后使用while循环交换指针left和right指向的元素的值,并不断移动指针,直到两个指针相遇为止。最后,输出逆序后的数组。
阅读全文