【例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);
}