【例8.8】将数组a中n个整数按相反顺序存放。
#include<stdio.h>void inv(int a[],int len){int i=0,j=len-1,temp;printf("%d %d\n",i,j);for(;i<j;i++,j--){temp = a[i];a[i] = a[j];a[j] = temp;}
}void show(int a[],int len){int i;for(i=0;i<len;i++){printf("%d ",a[i]);}printf("\n");
}
/*将数组a中n个整数按相反顺序存放。
*/
void main(){int a[]={3,7,9,11,0,6,7,5,4,2};int len = sizeof(a)/sizeof(int);show(a,len);inv(a,len);show(a,len);
}
使用指针引用数组
#include<stdio.h>void inv_2(int a[],int len){int *p1=a,*p2=a+len-1,temp;for(p1;p1<p2;p1++,p2--){temp = *p1;*p1 = *p2;*p2 = temp;}
}void show(int a[],int len){int i;for(i=0;i<len;i++){printf("%d ",a[i]);}printf("\n");
}
/*将数组a中n个整数按相反顺序存放。
*/
void main(){int a[]={3,7,9,11,0,6,7,5,4,2};int len = sizeof(a)/sizeof(int);show(a,len);inv_2(a,len);show(a,len);
}