采用指针访问方式从键盘给数组a[n]输入数据,然后对元素值重新按逆序存放并输出。 编程提示: (1)、使用指针访问数组时,要随时注意指针的指向。 (2)、通过指针输入完数据后,指针已经指向输出的尾部,需要将指针重新指向数组的首地址或其他元素的位置,才可以再用指针访问。
时间: 2023-07-20 21:05:18 浏览: 104
指针操作数组的两种方法(总结)
以下是一份示例代码:
```c
#include <stdio.h>
int main() {
int n;
printf("请输入数组长度n:");
scanf("%d", &n);
int a[n];
int *p = a;
printf("请输入数组元素:");
for (int i = 0; i < n; i++) {
scanf("%d", p + i);
}
printf("原始数组为:");
for (int i = 0; i < n; i++) {
printf("%d ", *(p + i));
}
printf("\n");
printf("逆序数组为:");
for (int i = n - 1; i >= 0; i--) {
printf("%d ", *(p + i));
}
printf("\n");
return 0;
}
```
解释一下代码的思路:
1. 首先通过 `scanf` 读入数组长度 `n`。
2. 声明一个大小为 `n` 的数组 `a`,并定义一个指针 `p` 指向数组首地址。
3. 通过 `scanf` 依次读入数组元素,指针 `p` 指向数组的首地址,所以可以使用 `p + i` 的方式访问数组中的每个元素。
4. 输出原始数组,同样使用指针访问数组中的每个元素。
5. 输出逆序数组,从最后一个元素开始遍历输出即可。
阅读全文