#include <stdio.h>
void reverse(int *data,int len)
{
int *p,i;
p=data;
for(i=0;i<len;i++)
{
(data+i)=(p+len-1-i);
}
}
void main()
{
int a[1024],len,i;
printf("输入数组长度:");
scanf("%d",&len);
printf("输入%d个整数:",len);
for(i=0;i<len;i++)
scanf("%d",&a[i]);
int *data=NULL;
data=a;
reverse(data,len);
for(i=0;i<len;i++,data++)
printf("%d ",*data);
}
你题目的解答代码如下:
#include <stdio.h>
void reverse(int *data, int len)
{
int *p, i, t;
p = data;
for (i = 0; i < len/2; i++)
{
t = *(data + i);
*(data + i) = *(p + len - 1 - i);
*(p + len - 1 - i) = t;
}
}
void main()
{
int a[1024], len, i;
printf("输入数组长度:");
scanf("%d", &len);
printf("输入%d个整数:", len);
for (i = 0; i < len; i++)
scanf("%d", &a[i]);
int *data = NULL;
data = a;
reverse(data, len);
for (i = 0; i < len; i++, data++)
printf("%d ", *data);
}
如有帮助,望采纳!谢谢!