关于指针的问题?
#include <stdio.h>#include <stdlib.h>
#define MAX 10
int main(void)
{
int i,arr,*pa;
pa=arr;
for (i=0;i<MAX;i++) pa=rand();
for (i=0;i<MAX;i++) printf("%-5d ",pa);//打印原数组;
putchar('\n');
int conversion(int *);
conversion(pa);
for (i=0;i<MAX;i++) printf("%-5d ",pa);//前后倒置后打印数组;
}
int conversion(int *pa)
{
int *p,tem,*pa2,*i=pa,stop=(MAX/2); //指针变量p=数组的中点,pa2=数组的最后一个元素,i=数组名;
p=pa+stop,pa2=pa+MAX-1;
for (;i<=p;i++,pa2--)
{
tem=*i;
*i=*pa2;
*pa2=tem;
}
}
//数组第五个元素与第六个元素没有调换位置???
//求大佬找一下代码问题!!!非常感谢! conversion()函数中的for循环,结束条件写错了多换了一次.
0<->9,1<->8,2<->7,3<->6,4<->5,5<->4
i<=p改为i<p 41 18467 633426500 19169 15724 11478 29358 26962 24464
24464 26962 29358 11478 19169 15724 26500 633418467 41
--------------------------------
Process exited after 0.01479 seconds with return value 0
请按任意键继续. . .
页:
[1]