//用指针变量做实参,逆序输出
#include "stdafx.h" #include "stdio.h" int main() {void inv(int *x,int n); int i,arr[10],*p=arr; Pointer variable P points to arr[0] printf("the orginal array:\n"); for(i=0; i<10; i++,p++) scanf("%d",p); printf("\n"); p=arr; Pointer variable P repoints to arr[0] inv(p,10); Call the INV function with the real parameter P pointer variable printf("the array has inverted:\n"); for(p=arr; p<arr+10; p++) printf("%d,",*p); printf("\n"); return 0;
} void inv(int *x,int n) // Define the INV function, the parameter X pointer variable {int *p,m,temp,*i,*j; m=(n-1)/2; i=x; j=x+n-1; p=x+m; for(; i<=p; i++,j--) {temp=*i; *i=*j; *j=temp; }
return;
}
|