不穿格子衫的Frank 2016-09-08 14:38 采纳率: 0%
浏览 896

c++中char指针问题(和钱能的c++程序设计教程结果不一样)

代码:
/*

  • f0303.cpp *
  • Created on: 2016年9月8日
  • Author: Administrator */ # include using namespace std;

int main() {

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

char* str1 = "good";
char* str2 = "good";
cout<<(str1 == str2 ? "" : "not ")<<"equal\n";
char buffer1[6] = "Hello";
char buffer2[6] = "Hello";
cout<<(buffer1 == buffer2 ? "" : "not ")<<"equal\n";

return 0;

}

运行结果:
equal
equal
not equal

  • 写回答

3条回答 默认 最新

  • 尚书左仆射 2016-09-08 14:45
    关注

    ("join" == "join" ? "" : "not ") ===>"join" == "join"结果为true,选择“”即没有输出;
    <<"equal\n"; ===>此处输出equal(即第一个equal)
    (str1 == str2 ? "" : "not ") ===>此时str1余str2相等,输出为空,也是后面的语句:<<"equal\n";输出了第二个equal;
    前面两个str都是指向同一个字符串“good”
    (buffer1 == buffer2 ? "" : "not ")===>此处两个buffer地址并不相同,buffer1 == buffer2结果是false,输出not;
    后面的equal输出同上。这里的buffer虽然内容相同,但是存储内容的内存是不同的。

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料