首页 新闻 会员 周边

C-串类型的比较?

0
悬赏园豆:5 [已解决问题] 解决于 2015-07-01 09:51

cout<<("join"=="join" ? " " : "not" )<<"equal"<<endl;

char *str1="good";
char *str2="good";

cout<<(str1==str2 ? " " : "not" )<<"equal"<<endl;
char buff[]="hello!";
char buff1[]="hello!";

cout<<(buff==buff1 ? " " : "not " )<<"equal"<<endl;

 

以上是C++写的C-串比较,输出的结果是:

equal

equal

not equal

感觉不太明白,为什么会得出这样的结果?和钱能写的咋不一样呢,PS虽然我看到那本C++有很多错的地方!

灬小楼昨夜的主页 灬小楼昨夜 | 初学一级 | 园豆:196
提问于:2014-11-11 15:37
< >
分享
最佳答案
0

字符串比较是用 strcmp(str1,str2)的 

收获园豆:5
风聆听 | 菜鸟二级 |园豆:207 | 2014-11-11 20:31

这个我知道 ,我问的是为什么 前两个输出的结果是 equal的,这样写的话应该比较的是地址不可能相等才对。

可是运行却得到这样的结果,我很费解呀( ⊙ o ⊙ )!

灬小楼昨夜 | 园豆:196 (初学一级) | 2014-11-12 20:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册