按字母顺序排序多个国家的名字

//按字母顺序排序多个国家的名字

 

#include

#include

void sortCountry(char*a[],unsigned longlen)

{

    for (int i = 0; i <= len - 2;i++)

    {

       for (intj = 0; j < len - 1- i ; j++)

       {

            //传首地址!!!根本无法传地址对应的字符串。如*aj】和*aj + 1,因为指向的是字符串,*aj】,只能代表第j个字符串的第一个字母!所以可以直接传首地址?

           if (strcmp(a[j], a[j + 1])> 0)

           {

               char*temp = a[j];

               a[j] = a[j + 1];

               a[j + 1]= temp;

           }

       }

    }

}

int main(intargc, const char* argv[])

{

    char* a[] = {"China11","America","korea","England","German"};

    //   unsigned long len = strlen(*a);//错了,a =&a[0],*a = a[0]

    unsigned longlen = sizeof(a) / sizeof(a[0]);

    sortCountry(a,len);

    for (int i = 0; i < len; i++)

    {

       printf("%s\n",a[i]);//%s打印,给地址即可!

    }

    return 0;

}


你可能感兴趣的:(按字母顺序排序多个国家的名字)