用指针的方法将数组a中的n个整数按相反顺序存放
程序分析:编写函数inv,定义指针*p,*k,分别指向数组前面和后面的元素。通过形参指针变量,改变它们所指向的n个变量的值。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
void inv(int* x, int n);
int i;
int a[10];
int* p = a;
printf("请输入10个数字:");
for (i = 0; i < 10; i++, p++)
{
scanf("%d", p);
}
p = a;//指针p重新指向数组首地址
inv(p, 10);
for (p = a; p < a + 10; p++)
{
printf("%d ", *p);
}
printf("\n");
system("pause");
return 0;
}
void inv(int* x, int n)
{
int temp;
int* i, * j;//定义指向首、尾指针
i = x;
j = x + n - 1;
for (; i < j; i++, j--)
{
temp = *i; *i = *j; *j = temp;//交换指针所指向的变量的值
}
}