二级指针做输入001

 

二级指针做输入 并排序,函数的封装

#include <stdio.h>
#include <string.h>
void printfmyArray(char ** myArray, int num)
{
    int i;
    for(i = 0; i < num; i++)
    {
        //printf("%s \n", myArray[i]);
        printf("%s \n", *(myArray+i));
    }
}
void sortMyArray(char ** myArray, int num)
{
    int i, j;
    char *tmp = NULL;
    //排序
    for(i = 0; i < num; i++)
    {
        for(j = i+1;j<num ; j++)
        {
            if(strcmp(myArray[i], myArray[j]) > 0)
            {
                tmp = myArray[i]; //注意  交换的是数组元素  交换的是指针的值
                myArray[i] = myArray[j];
                myArray[j] = tmp;
            }
        }
    }
}

int main(void)
{
    int i = 0, j = 0;
    int num = 0;
    //数组 数组中的每一个元素对指针  指针数组
    char *myArray[] = {"aaaaaa", "bbbbbb", "ccccccc", "111111"};

    num = sizeof(myArray)/sizeof(myArray[0]);
    printf("排序之前\n");
    printfmyArray(myArray, num);
    sortMyArray(myArray, num);

    printf("排序之后\n");
    printfmyArray(myArray, num);
    
    return 0;
}

 

posted @ 2017-05-01 21:24  Liu_Jing  Views(184)  Comments(0)    收藏  举报