#include <iostream>
using namespace std;
#include <string>
void px(char *p[],int n)
{
char *t;
int i,j,k;
for(i=0;i<=n-1;i++)//选择排序算法
{
k=i;
for(j=i+1;j<=n-1;j++)
if(strcmp(p[k],p[j])<0)
k=j;
if(k!=i)
{
t=p[i];
p[i]=p[k];
p[k]=t;
}
}
}
void main()
{
int i;
char a[3][10],*p[3];
for(i=0;i<3;i++)
{
gets(a[i]);
p[i]=a[i];
}
px(p,3);
cout<<"字符串由大到小排如下"<<endl;
for(i=0;i<3;i++)
cout<<*(p+i)<<endl;
}这个可以,但是为什么在主函数中把输出*(p+i)该成a[i]就不行啊???
using namespace std;
#include <string>
void px(char *p[],int n)
{
char *t;
int i,j,k;
for(i=0;i<=n-1;i++)//选择排序算法
{
k=i;
for(j=i+1;j<=n-1;j++)
if(strcmp(p[k],p[j])<0)
k=j;
if(k!=i)
{
t=p[i];
p[i]=p[k];
p[k]=t;
}
}
}
void main()
{
int i;
char a[3][10],*p[3];
for(i=0;i<3;i++)
{
gets(a[i]);
p[i]=a[i];
}
px(p,3);
cout<<"字符串由大到小排如下"<<endl;
for(i=0;i<3;i++)
cout<<*(p+i)<<endl;
}这个可以,但是为什么在主函数中把输出*(p+i)该成a[i]就不行啊???