c语言, 为什么运行结果不对呢

来源:百度知道 编辑:UC知道 时间:2024/06/19 03:12:00
15个整数存入一维数组,按逆序存放后输出,用指针变量做..不知道是哪里错了
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
int main()
{
int a[15],i;
int *p=a,*p1,p2;
for(i=0;i<15;i++)
scanf("%d",&a[i]);

for(i=1,p=a,p1=p;i<=15/2;i++,p++,p1--)//头+,尾-依次交换
{ p2=*p;*p=*p1;*p1=p2; }

for(p=a;p<a+15;p++)
printf("%d ",*p);
getch();
return 0;
}


for(i=1,p=a,p1=p;i<=15/2;i++,p++,p1--)
修改为
for(i=1,p=a,p1=p+14;i<=15/2;i++,p++,p1--)

#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
int main()
{
int a[15],i;
int *p=a,*p1,p2;
char c;
for(i=0;i<15;i++)
scanf("%d",&a[i]);

for(i=1,p=a,p1=p+14;i<=15/2;i++,p++,p1--)//头+,尾-依次交换
{ p2=*p;*p=*p1;*p1=p2; }

for(p=a;p<a+15;p++)
printf("%d ",*p);
c=getch();
return 0;
}
这样可以了