#include"stdio.h"
#define N 10
void r(int *p,int a,int b)
{ int c;
while(a<b)
{ c=*(p+a);
*(p+a)=*(p+b);
*(p+b)=c;
a++; b--;
}
}
main()
{ int a[N],i;
for(i=0;i<N;i++);
{scanf("%d",&a[i]);
printf("%d",a[i]);
}
r(a,0,N-1);
for(i=0;i<N;i++)
printf("%-4d",a[i]);
}
程序的作用是写个函数让一个数组的元素逆序。但执行得不到正确结果。始终不知道原因,请教高手指点下啊……

#define N 10
void r(int *p,int a,int b)
{ int c;
while(a<b)
{ c=*(p+a);
*(p+a)=*(p+b);
*(p+b)=c;
a++; b--;
}
}
main()
{ int a[N],i;
for(i=0;i<N;i++);
{scanf("%d",&a[i]);
printf("%d",a[i]);
}
r(a,0,N-1);
for(i=0;i<N;i++)
printf("%-4d",a[i]);
}
程序的作用是写个函数让一个数组的元素逆序。但执行得不到正确结果。始终不知道原因,请教高手指点下啊……


