1
0

c8-9-2.c 669 B

123456789101112131415161718192021222324
  1. #include <stdio.h>
  2. int main()
  3. {void inv(int *x,int n); // inv函数声明
  4. int i,*arr; // 指针变量arr未指向数组元素
  5. printf("The original array:\n");
  6. for(i=0;i<10;i++)
  7. scanf("%d",arr+i);
  8. printf("\n");
  9. inv(arr,10); // 调用inv函数,实参arr是指针变量,但无指向
  10. printf("The array has been inverted:\n");
  11. for(i=0;i<10;i++)
  12. printf("%d ",*(arr+i));
  13. printf("\n");
  14. return 0;
  15. }
  16. void inv(int *x,int n) // 定义inv函数,形参x是指针变量
  17. {int *p,m,temp,*i,*j;
  18. m=(n-1)/2;
  19. i=x;j=x+n-1;p=x+m;
  20. for(;i<=p;i++,j--)
  21. {temp=*i;*i=*j;*j=temp;}
  22. return;
  23. }