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;
}
展开
 我来答
lilovx
2011-06-01 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:126
采纳率:0%
帮助的人:103万
展开全部
你的等号赋值时候两端的数据类型不一致,你应该根绝情况调整两端的数据类型。
两端如果都是char类型的话 可以用等号赋值
两端是char[10]的字符数组的话,可以用strcpy
追问
具体怎么操作啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tanzhangwen
2011-06-01 · TA获得超过1136个赞
知道小有建树答主
回答量:499
采纳率:0%
帮助的人:852万
展开全部
你把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;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式