通过指针变量实现,从键盘输入 10 个整数,然后逆序显示输出。
时间: 2023-06-10 11:06:34 浏览: 548
下面是一段 C 语言代码,可以实现从键盘输入 10 个整数,然后逆序显示输出:
```c
#include <stdio.h>
int main() {
int a[10], i;
int *p = a;
printf("请输入 10 个整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", p + i);
}
printf("逆序输出:\n");
for (i = 9; i >= 0; i--) {
printf("%d ", *(p + i));
}
return 0;
}
```
首先定义了一个长度为 10 的整型数组 `a`,同时定义了一个指向 `a` 的指针变量 `p`。在循环中通过 `scanf` 函数向数组中输入数据。最后在循环中通过指针变量 `p` 访问数组中的元素,逆序输出。
相关问题
C语言实现:通过指针变量实现,从键盘输入 10 个整数,然后逆序显示输出。
下面是 C 语言代码实现:
```c
#include <stdio.h>
int main() {
int arr[10]; // 定义一个长度为 10 的数组
int *p = arr; // 定义指向数组首元素的指针
// 从键盘输入 10 个整数
printf("请输入 10 个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", p + i);
}
// 逆序显示输出
printf("逆序输出:");
for (int i = 9; i >= 0; i--) {
printf("%d ", *(p + i));
}
return 0;
}
```
在这个程序中,我们使用了指针变量 `p` 来操作数组 `arr`。在输入数据时,我们使用 `p + i` 来访问数组的第 `i` 个元素;在逆序输出数据时,我们使用 `*(p + i)` 来访问数组的第 `i` 个元素。
.用指针变量实现输入10个整数存入一维数组,再按逆序重新存放后输出。
好的,这是一个 C 语言的问题。以下是代码实现:
```c
#include <stdio.h>
int main() {
int arr[10], temp;
int *ptr1, *ptr2;
printf("请输入10个整数:\n");
for (ptr1 = arr; ptr1 < arr + 10; ptr1++) {
scanf("%d", ptr1);
}
ptr1 = arr;
ptr2 = arr + 9;
while (ptr1 < ptr2) {
temp = *ptr1;
*ptr1 = *ptr2;
*ptr2 = temp;
ptr1++;
ptr2--;
}
printf("逆序输出数组:\n");
for (ptr1 = arr; ptr1 < arr + 10; ptr1++) {
printf("%d ", *ptr1);
}
return 0;
}
```
代码解释:
- 首先定义一个长度为 10 的整数数组 `arr` 和一个整数变量 `temp`。
- 然后定义两个指向整型的指针变量 `ptr1` 和 `ptr2`,分别指向数组的首元素和尾元素。
- 在 `for` 循环中,通过指针变量 `ptr1` 依次输入 10 个整数。
- 然后将 `ptr1` 重新指向数组的首元素,将 `ptr2` 指向数组的尾元素。
- 在 `while` 循环中,交换 `ptr1` 和 `ptr2` 所指向的元素,并将 `ptr1` 往后移动一位,`ptr2` 往前移动一位,直到 `ptr1` 大于等于 `ptr2`。
- 最后,在 `for` 循环中,通过指针变量 `ptr1` 依次输出逆序后的数组。
运行结果:
```
请输入10个整数:
1 2 3 4 5 6 7 8 9 10
逆序输出数组:
10 9 8 7 6 5 4 3 2 1
```
阅读全文