c++菜鸟
我是个初学者 希望高手门多多帮助
有如下程序
#include<iostream>
using namespace std;
int main()
{cout<<("join"=="join" ? "":"not")<<"equal\n";
getchar();
char* str1="good";
char* str2="good";
cout<<(str1==str2 ? "": "not")<<"equal\n";
getchar();
char buffer1[6]="hello";
char buffer2[6]="hello";
cout<<(buffer1==buffer2 ? "" : "not")<<"equal\n";
getchar();
}
书上显示编译后结果是
not equal
not equal
not equal
但是我编译后显示的结果是
equal
equal
not equal
请高手指点指点哦!!

posted on 2006-07-26 10:16 Kobe Bryant 阅读(262) 评论(5)  编辑 收藏 引用
Comments
  • # re: 编译后显示和书上不一样。。。。郁闷
    周星星
    Posted @ 2006-07-26 11:25
    第三个比较不等于很容易理解,就不说了。
    第一个比较和第二个比较其实是一样的  回复  更多评论   
  • # re: 编译后显示和书上不一样。。。。郁闷
    周星星
    Posted @ 2006-07-26 11:29
    第三个比较不等于很容易理解,就不说了。
    第一个比较和第二个比较其实是一样的,用 "join" == "join" 来说明:
    C/C++并没有规定相同的字符串常量使用或不使用同一个存储区,所以如果编译器使用同一个存储区,那么 "join" == "join" 为 true,否则为 false。  回复  更多评论   
  • # re: 编译后显示和书上不一样。。。。郁闷
    任我行
    Posted @ 2006-07-26 17:31
    郁闷,为什么比较字串要这样子呢,用strcmp吧  回复  更多评论   
  • # re: 编译后显示和书上不一样。。。。郁闷
    Kobe Bryant
    Posted @ 2006-07-28 10:36
    谢谢各位大师们的指点!!我会继续努力的  回复  更多评论   
  • # re: 编译后显示和书上不一样。。。。郁闷
    Kobe Bryant
    Posted @ 2006-07-28 10:36
    谢谢你@周星星
      回复  更多评论   

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理