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++有很多错的地方!
字符串比较是用 strcmp(str1,str2)的
这个我知道 ,我问的是为什么 前两个输出的结果是 equal的,这样写的话应该比较的是地址不可能相等才对。
可是运行却得到这样的结果,我很费解呀( ⊙ o ⊙ )!