将数组中的数据反向输出,用数组名作函数参数
swap函数是用来实现数组中元素前后的调换,用这种方式来实现数组中元素的逆序输出
#include <stdio.h>
#include <stdlib.h>
void swap(int m[],int n);
int main()
{int a[]={1,2,3,4,5,6,7,8,9,0};printf("原顺序:");for(int i=0;i<10;i++){printf("%d ",a[i]);}printf("\n");swap(a,10);printf("反顺序:");for(int i=0;i<10;i++){printf("%d ",a[i]);}return 0;
}
void swap(int m[],int n)
{int a,b,c;a=(n-1)/2;for(c=0;c<=a;c++){b=m[c];m[c]=m[n-1-c];m[n-1-c]=b;}
}
swap1是用指针来完成数据的调换
#include <stdio.h>
#include <stdlib.h>
void swap(int m[],int n);
void swap1(int *m,int n);
int main()
{int a[]={1,2,3,4,5,6,7,8,9,0};printf("原顺序:");for(int i=0;i<10;i++){printf("%d ",a[i]);}printf("\n");//swap(a,10);swap1(a,10);printf("反顺序:");for(int i=0;i<10;i++){printf("%d ",a[i]);}return 0;
}
void swap(int m[],int n)
{int a,b,c;a=(n-1)/2;for(c=0;c<=a;c++){b=m[c];m[c]=m[n-1-c];m[n-1-c]=b;}
}
void swap1(int *m,int n)
{int *a,b,c,*p,*q;b=(n-1)/2;a=m;p=m+n-1; //数组最后一个值q=m+b;for(;a<=q;a++,p--){c=*a;*a=*p;*p=c;}
}