不穿格子衫的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虽然内容相同,但是存储内容的内存是不同的。

    评论

报告相同问题?

悬赏问题

  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services