error C2440: “=”: 无法从“char [10]”转换为“char”
请问高手,怎么解决?#include<iostream>#include<cstring>#include<iomanip>usingnamespacestd;intst...
请问高手,怎么解决?
#include<iostream>
#include<cstring>
#include<iomanip>
using namespace std;
int strcmp(const char*s1,const char*s2)
{
if(strcmp(s1,s2)<0)
cout<<s1<<s2<<endl;
else
cout<<s2<<s1<<endl;
return 0;
}
int main()
{
char s[10],*aPtr[10];
int i;
*aPtr=s;
cout<<"请输入10个单词:"<<endl;
for(i=0;i<10;i++)
cin>>*aPtr++;
cout<<"输入的单词是:";
for(aPtr=s;aPtr<(s+10);aPtr++)
cout<<"按字典排序,这个单词从小到大排序为:"<<strcmp(&s[i],&s[i+1])<<endl;
return 0;
} 展开
#include<iostream>
#include<cstring>
#include<iomanip>
using namespace std;
int strcmp(const char*s1,const char*s2)
{
if(strcmp(s1,s2)<0)
cout<<s1<<s2<<endl;
else
cout<<s2<<s1<<endl;
return 0;
}
int main()
{
char s[10],*aPtr[10];
int i;
*aPtr=s;
cout<<"请输入10个单词:"<<endl;
for(i=0;i<10;i++)
cin>>*aPtr++;
cout<<"输入的单词是:";
for(aPtr=s;aPtr<(s+10);aPtr++)
cout<<"按字典排序,这个单词从小到大排序为:"<<strcmp(&s[i],&s[i+1])<<endl;
return 0;
} 展开
展开全部
你的等号赋值时候两端的数据类型不一致,你应该根绝情况调整两端的数据类型。
两端如果都是char类型的话 可以用等号赋值
两端是char[10]的字符数组的话,可以用strcpy
两端如果都是char类型的话 可以用等号赋值
两端是char[10]的字符数组的话,可以用strcpy
追问
具体怎么操作啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把char数组直接赋值给char型出错了
这个只有给出代码别人才能知道你错在哪里了
这个只有给出代码别人才能知道你错在哪里了
追问
#include
#include
#include
using namespace std;
int strcmp(const char*s1,const char*s2)
{
if(strcmp(s1,s2)<0)
cout<<s1<<s2<<endl;
else
cout<<s2<<s1<<endl;
return 0;
}
这里弄错了。我补充了问题。谢谢!!
追答
我想知道你是想实现什么目的?是为了对一个单词里面的字符排序还是要对10个单词按从小到大排序?如果是10个单词排序的话,你的算法就错了。
下面程序编译没有错,但是什么目的还是等你说。另外strcmp是系统函数,自己定义的函数名字最好不要和系统重复,这样是好的编程习惯
#include
#include
#include
using namespace std;
int cmp(const char*s1,const char*s2)
{
if(strcmp(s1,s2)>s[i];
cout<<"输入的单词是:";
for(i = 0;i < 10;i ++)
cout<<"按字典排序,这个单词从小到大排序为:"<<cmp(s[i],s[i+1])<<endl;
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询