C++字符串比较问题,和书上说的不一样
今天写了这么一个程序
#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;
}
输出的地址也是相同的,更糊涂了