请帮下忙
void inv(int *x,int n) /*形参x为指针变量*/{
int *p,temp,*i,*j,m=(n-1)/2;
i=x;j=x+n-1;p=x+m; 主要是这里不明白 i=x 不就是x里面存储的地址给i 让i也指像a[10] 但j=x+n-1 这个我就不明白了 难道内存的地址相加 这不乱了吗 也应该是*j=*x+n-1是
for(;i<=p;i++,j--) 还有这里 这样写是什么意思呢
{temp=*i;*i=*j;*j=temp;}
return;
}
main()
{int i,a[10]={3,7,9,11,0,6,7,5,4,2};
printf("The original array:\n");
for(i=0;i<10;i++)
printf("%d,",a[i]);
printf("\n");
inv(a,10);
printf("The array has benn inverted:\n");
for(i=0;i<10;i++)
printf("%d,",a[i]);
printf("\n");
}
[[it] 本帖最后由 chuexuezhe 于 2008-10-22 14:03 编辑 [/it]]