关于C++指针问题,初学者级别

来源:百度知道 编辑:UC知道 时间:2024/06/01 02:37:14
#include"iostream"
using namespace std;
int main()
{
char *a[]={"libo","caonanxiang","qubao"};
void sort(char *a[]);
void print(char *a[]);
void swap(char *x,char *y);
sort(a);
print(a);
return 0;
}
void sort(char *a[])
{
if(strcmp(a[0],a[1])>0) swap(*a[0],*a[1]);
if(strcmp(a[0],a[2])>0) swap(*a[0],*a[2]);
if(strcmp(a[1],a[2])>0) swap(*a[1],*a[2]);
}
void swap(char *x,char *y)
{
char *temp;
temp=x;
x=y;
y=temp;
}
void print(char *a[])
{
int i;
for(i=0;i<3;i++)
cout<<a[i]<<" "<<endl;
}
看一下这段程序错哪里了,谢谢!!!

自已对这看吧
#include"iostream"
using namespace std;

int main()
{
char *a[]={"libo","caonanxiang","qubao"};

void sort(char *a[]);

void print(char *a[]);

void swap(char *x,char *y);

sort(a);

print(a);

return 0;
}

void sort(char *a[])
{
if(strcmp(a[0],a[1])>0) swap(a[0],a[1]);

if(strcmp(a[0],a[2])>0) swap(a[0],a[2]);

if(strcmp(a[1],a[2])>0) swap(a[1],a[2]);
}

void swap(char *x,char *y)
{
char temp[10];
strcpy(temp, x);
strcpy(x, y);
strcpy(y, temp);
}

void print(char *a[])
{
int i;

for(i=0; i<3; i++)

cout<<a[i]<<" "<<endl;
}