这个很重要,以后可能常考,现总结一下,有备无患!
#include <stdio.h> /** * 逆序数组用for * * @param a 数组名 * @param len 数组长度 */ void nixuArr(int a[],int len){
//定义一个指数组指针 int *p=a; //定义下标并且实现转换 for (int i=0,j=len-1; i<j; i++,j--) {
int temp; temp =*(p+i); *(p+i)=*(p+j); *(p+j)=temp;
}
}
/** * 逆序数组用wile * * @param a 数组名 * @param len 数组长度 */ void nixuArr2(int a[],int len){
//定义一个数组指针 int *p=a; //定义下标 int j=len-1; int i=0; while (i<j) { //实现下标转换 int temp; temp = *(p+i); *(p+i)=*(p+j); *(p+j)=temp; i++,j--;
}
}
int main(int argc, const char * argv[]) {
// 输入一个数组 int arr[10]={1,2,3,4,5,6,7,8,9,10}; //带入函数 nixuArr(arr,10); //遍历数组并且打印 for (int i=0; i<10; i++) { printf("%d\t",arr); } return 0; }
|