[讨论]c++中两个字符串的比较
请看下面的小程序,分析他们的结果: 请在运行前想想它的结果应该是什么,为什么,再去看结果ll.....................
#include<iostream>
int main()
{
if("your"=="your")
std::cout<<"they equal"<<std::endl;
else
std::cout<<"not equal.";
return 0;
}
钱能的C++P168面的小例子,引用他的分析如下"程序中两个字符串的比较实质上是两个地址的比较。在编绎时,给了这两个字符串不同的存放地点,所以这两个字符串的地址是不同的。要使两个字符串真正从字面上进行比较,可以用库函数strcmp(),看稍后的描述。"
但大家可能都运行了,为什么结果反而是equal呢???“????