C++字符串比较问题,和书上说的不一样

richard_ma richard_ma 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
今天写了这么一个程序
#include <iostream>

using namespace std;

int main() {

if ("join" == "join")
cout << "equal" << endl;
else
cout << "not equal" << endl;

return 0;
}

输出总是equal,我已经试了vs8,vc6,g++三个编译器,结果都一样,不知道是为什么。书上说应该会分配不同的内存空间,比较时比较的是首地址,应该是不同的啊,怎么输出总是相同呢?
更怪的是我写了如下程序
#include <stdio.h>

int main(int argc, char *argv[])
{
printf("%p\n", "join");
printf("%p\n", "join");

return 0;
}

输出的地址也是相同的,更糊涂了
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部
richard_ma
新手乐园 33,315 成员 41,769 内容