用指针实现将一个含有10个数的数组逆序存放
时间: 2024-06-13 11:09:19 浏览: 21
以下是使用指针将一个含有10个数的数组逆序存放的示例代码:
```c
#include <stdio.h>
void reverse(int *arr, int len) {
int *p1 = arr, *p2 = arr + len - 1;
while (p1 < p2) {
int temp = *p1;
*p1 = *p2;
*p2 = temp;
p1++;
p2--;
}
}
int main() {
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
reverse(arr, 10);
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
相关问题
用指针实现将一个含有10个数的数组逆序存放。
以下是用指针实现将一个含有10个数的数组逆序存放的C语言代码:
```c
#include <stdio.h>
void store(int *b, int x) {
int *i, *j, *p, t, m;
m = (x - 1) / 2;
i = b;
j = b + x - 1;
p = b + m;
for (; i <= p; i++, j--) {
t = *i;
*i = *j;
*j = t;
}
}
int main() {
int i, n;
int a[10];
printf("请输入需要储存数的个数:");
scanf("%d", &n);
printf("\n请存入%d个数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
store(a, n);
printf("\n逆序存放为:");
for (i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
将一个含有n个元素的一维数组逆序存放
将一个含有n个元素的一维数组逆序存放的方法是:从数组的两端开始,依次交换对应位置的元素,直到中间位置。具体步骤如下:
1. 定义两个指针,一个指向数组的第一个元素,另一个指向数组的最后一个元素。
2. 交换两个指针所指向的元素,并将指针向中间移动一位。
3. 重复步骤2,直到两个指针相遇。
4. 数组逆序存放完成。
例如,对于一个含有5个元素的数组arr,初始状态为[1, 2, 3, 4, 5],按照上述方法逆序存放后,数组变为[5, 4, 3, 2, 1]。