//关于指向指针的指针的知识点:定义指向指针的指针变量如(char**p)后,如果输出
*(Country+1)则是输出字符串"America",如果输出**(Country+1)则是输出字符串"America"中的'A',以此类推。
#include <iostream>
#include<string.h>
using namespace std;
int main()
{ //从小到大排序
char**p; //定义指向字符指针数据的指针变量p
char* Country[]={"Asia","America","Europe","Africa"}; //初始化指针数组
int i,j,k;
p=Country;
for(i=0;i<3;i++) //对数组中的元素进行逐个比较
{
k=i;
for(j=i+1;j<4;j++)
if(strcmp(*(p+k),*(p+j))>0) //比较函数,如果前一个元素大于后一个,则令k等于j
k=j;
if(k!=i) //如果k!=i则证明要交换
{
char* temp;
temp=*(p+i);
*(p+i)=*(p+k);
*(p+k)=temp;
}
}
for(i=0;i<4;i++) //输出已排好序的字符串
cout<<*(p+i)<<endl;
return 0;
}
运行后