A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hanxujie 中级黑马   /  2015-6-14 18:13  /  1024 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


这个很重要,以后可能常考,现总结一下,有备无患!

#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;
}


1 个回复

正序浏览
楼主总结的很好,学习了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马