问问题//用指向指针的指针的方法对5个字符串排序输出
//created on december 25 2006
#include<iostream>
using namespace std;
void sort(char**p);
int main()
{
const int m=20;
int i;
char**p,*pstr[5],str[5][m];
for(i=0;i<5;i++)
pstr[i]=str[i];//在这里换成pstr[i]=str+i为什么不行,而换成pstr[i]=*(str+i)就行了呢;*(str+i)不就是取内容吗,但pst是指针呀想不明白
cout<<"enter five string:";
for(i=0;i<5;i++)
cin>>str[i];
p=pstr;
sort(p);
for(i=0;i<5;i++)
cout<<pstr[i]<<endl;
return 0;
}
void sort(char**p)
{
for(int i=0;i<4;i++)
for(int j=i+1;j<5;j++)
{
char*temp;
if(strcmp(*(p+i),*(p+j))>0)//还有在这里他们的比较是怎么进行的呀,p的解引用不是pstr的地址吗,,如果是这样还怎么比较呀!各位高手多多指教了
{
temp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;
}
}
}