c++c语言怎么去用指针写数组的逆序存放问题,并且要调用函数下面代码怎么简化,不会写,

  1. img


    #include#include#include int fun(int *q); int main(){ int i; int a[10]; srand((int)time(NULL)); for(i=0;i<10;i++) { a[i]=rand()%100; } printf("随机生成的原始数组:"); for(i=0;i<10;i++) { printf("%d ",a[i]); } printf("\n"); printf("逆序交换后的数组:"); fun(a); for(i=0;i<10;i++) { printf("%d ",a[i]); } printf("\n"); return 0; }int fun(int *q){ int a[10],i=0; int *p=a; for(;i<10;i++) { *p=*q; p++; q++; } q=q-i-1; for(;i>=0;i--) { *q=*p; q++; p--; } return 0;}

让一个指针指向[0]
一个指向[length-1]
在循环中交换两头,并让两个指针一个向后一个向前移动。
如果二者的下标相邻(偶数数组)或相等(奇数数组),结束。