兄弟们,打扰一下,C++关于字符串数组的字典排序。。求高手指点错误?
题目要求对n个字符串按字典序排序,用二维数组做,程序如下:#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int n,i;
cout<<"请输入要排序的字符串组数:"<<endl;
cin>>n;
char **string=new char *[n];
for(i=0;i<n;i++)
string[i]=new char [100];
cout<<"请依次输入要排序的字符串"<<endl;
for(i=0;i<n;i++)
{
cout<<"第"<<i+1<<"串:";
cin>>string[i];
}
for(i=0;i<n;i++)
if(strcmp(string[i+1],string[i])<0)
{
char temp=string[i+1];
string[i+1]=string[i];
string[i]=temp;
}
for(i=0;i<n;i++)
cout<<string[i]<<endl;;
for(i=0;i<n;i++)
delete []string[i];
delete []string;
return 0;
}
运行之后报错说无法从“char”转换为“char *,是中间交换那边temp出的问题,先解释一下什么意思,还有,怎么解决?