C++中,出现cannot convert parameter 1 from 'char [10]' to 'char'怎么办?

if(tra[i].begain==exa.begain)n++;structtrain{charnum[10];charbegain[10];};赋初值trainexa... if (tra[i].begain ==exa.begain)
n++;
struct train
{
char num[10];
char begain[10];
};
赋初值train exa={0,0};
完了就提示字符数组跟字符这样了.... 明明都是一个struct下面的为什么会这样...在线等
tra[i].begain 赋值 北京

exa.begain 能赋值 北京 么?
展开
 我来答
009螃蟹
2013-06-26 · TA获得超过177个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:117万
展开全部
if(tra[i].begain ==exa.begain)
改成
if(strcmp(tra[i].begain, exa,begain)==0)
因为你的begain代表的是数组地址
而你是要比较数组中的内容, 基础不扎实!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
玻璃麦田bd
2013-06-26 · TA获得超过451个赞
知道小有建树答主
回答量:249
采纳率:0%
帮助的人:274万
展开全部
你定义的结构包含的是两个数组;
赋值的时候赋值的是两个整型。类型不匹配。
追问
怪我没打全..
之后我继续
cin<<exa.begain
输入的是两个汉字
然后if
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yunji777
2013-06-26 · 超过21用户采纳过TA的回答
知道答主
回答量:103
采纳率:0%
帮助的人:47.8万
展开全部
struct train
{
char* num    ;
    char* begain ;
};
void main(void)
{
 
 train exa,tra;
 exa.begain = "北京";
 tra.begain = "北京";
 if(exa.begain == tra.begain)
 {
 cout << "11111111111111111111111111111" << endl;
 }
  
}


// 就这样``perfect
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
WM_THU
2013-06-26 · TA获得超过7164个赞
知道大有可为答主
回答量:4285
采纳率:80%
帮助的人:3927万
展开全部
train exa={"0","0"}; 试试看?
另外 应该是 cin>>exa.begain; 吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1d106d9
2013-06-26 · TA获得超过278个赞
知道小有建树答主
回答量:140
采纳率:0%
帮助的人:148万
展开全部
train exa={{0},{0}};
追问
还是提示 类型不一致
追答
我的环境编译能过去啊。。你的分号达成中文了吧train exa={0,0};
这个是中文的分号 还有你的结构体结束也是中文的分号

可以啊 strcpy(exa.begain , "北京");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式