第10章第3节 例10-7:对数组中前n个数进行反序排列(即:前n个元素首尾对调) 1.形参和实参均为数组名 2.形参和实参均为指针变量 void inv(intl, int n) void inv(int*p, int n) Inti,j,t; Rint*i,*j, t; for(i=0,j=n-1; i<j; i++, j-) for(i=p, j=p+n-l; i<j; i++, j-) tt=xil; t xXl x=t; maino maint inta10}={1,2,3,4,5,6,7,8,9,10};inta10={1,2,3,4,5,6,7,8,9,10}; Int n, 1; int n, p; printf(“ input n=”) p-a, scanf(“%od”,&n); printf(“ input n=”); nv(a, n scanf(“%d”,&m); for(i=0;i<10;i++) inv(p, n); print(“%d”,a[i); for(p=a; p<a+10; p++) printf((“%d”,*p);
void inv(int *p, int n) {int *i, * j, t; for(i=p, j=p+n-1; i<j; i++, j--) {t=*i; *i=*j; *j=t;} } main() {int a[10]={1,2,3,4,5,6,7,8,9,10}; int n, *p; p=a; printf(“input n=”); scanf(“%d”,&n); inv (p,n); for(p=a; p<a+10; p++) printf(“%d”,*p); } 第10章第3节 例10-7:对数组中前 n 个数进行反序排列(即:前n个元素首尾对调) 1. 形参和实参均为数组名 void inv(int x[], int n) {int i, j, t; for(i=0, j=n-1; i<j; i++, j--) {t=x[i]; x[i]=x[j]; x[j]=t;} } main() {int a[10]={1,2,3,4,5,6,7,8,9,10}; int n, i; printf(“input n=”); scanf(“%d”,&n); inv (a,n); for(i=0; i<10; i++) printf(“%d”,a[i]); } 2. 形参和实参均为指针变量
第10章第3节 3.形参用指针变量,实参 4.形参用数组名,实参为 为数组名 指针变量 void inv(int*p, int n) void inv(intx[l, int n) Rint*1*j,t IntI for(i=p, j=p+n-1; i<j; i++,j--) for(i=0,j=n-1; i<j; i++,j--) it Rt=xi i=xjl; lj=t maint (0 ainO inta10={1,2,3,4,5,6,8,9,10} inta10|={1,2,3,4,56,7,8,9,10}: int n, *p: int n. i: P-a, p input n=”); scanf(( %d,&n); printf("input n scanf(“%d”,&n inv(a, n) inv(p, n); for(i=0;i<10;i++) for(p=a; p<a+10; p++) printi(“%d”,a[); printi(“%od”,p):
第10章第3节 形参用指针变量,实参 为数组名 3. void inv(int *p, int n) {int *i, * j, t; for(i=p, j=p+n-1; i<j; i++, j--) {t=*i; *i=*j; *j=t;} } main() {int a[10]={1,2,3,4,5,6,7,8,9,10}; int n, i; printf(“input n=”); scanf(“%d”,&n); inv (a,n); for(i=0; i<10; i++) printf(“%d”,a[i]); } 形参用数组名,实参为 指针变量 4. void inv(int x[], int n) {int i, j, t; for(i=0, j=n-1; i<j; i++, j--) {t=x[i]; x[i]=x[j]; x[j]=t;} } main() {int a[10]={1,2,3,4,5,6,7,8,9,10}; int n, *p; p=a; printf(“input n=”); scanf(“%d”,&n); inv (p,n); for(p=a; p<a+10; p++) printf(“%d”,*p); }