采用指针访问方式从键盘给数组a[n]输入数据,然后对元素值重新按逆序存放并输出。
时间: 2023-12-10 21:40:36 浏览: 103
C语言编程实验课之数组.docx
可以使用指针来实现对数组元素的访问和交换。具体实现步骤如下:
1. 定义数组a[n]和指向数组元素的指针p。
2. 通过循环输入n个元素的值,同时通过指针p将输入的值存储到数组a中。
3. 定义两个指针p1和p2,分别指向数组的首尾元素。
4. 通过循环,依次交换p1和p2所指向的元素,并将它们向中间移动,直到p1 >= p2为止。
5. 通过循环输出重新排列后的数组元素。
下面是示例代码:
```c
#include <stdio.h>
#define MAX_SIZE 100
int main() {
int n, a[MAX_SIZE];
int *p = a;
int *p1 = a, *p2 = a + n - 1;
printf("请输入数组长度n: ");
scanf("%d", &n);
printf("请输入%d个整数:", n);
for (int i = 0; i < n; i++) {
scanf("%d", p + i);
}
// 交换元素
while (p1 < p2) {
int temp = *p1;
*p1 = *p2;
*p2 = temp;
p1++;
p2--;
}
// 输出结果
printf("重新排列后的数组元素为:");
for (int i = 0; i < n; i++) {
printf("%d ", *(p + i));
}
return 0;
}
```
注意,此代码中的指针运算需要特别小心,需要保证指针操作的合法性。同时,当输入的数组长度n超过MAX_SIZE时,会导致数组越界,产生不可预知的错误。因此,实际应用中需要对输入的n进行范围检查。
阅读全文