以下代码会输出什么:
1
0
我一直在想,如果比较的是同一个字符串,为什么值不同... 我已经苦恼了一段时间,无法弄清楚为什么它们返回不同的布尔值。
int main()
{
string stringArray[] = { "banana","Banana","zebra","apple","Apple","Zebra","cayote" };
cout << (stringArray[1] < stringArray[0]) << endl;
cout << ("Banana" < "banana") << endl;
return 0;
}
strcmp
比较字符串。 - Thane Plummercout << (std :: string(“Banana”)<std :: string(“banana”))<< endl;
- DeiDeistrncmp
无法与std::string
一起使用,除非您执行以下操作:strncmp(stringArray[1].c_str(), stringArray[0].c_str())
。 - Thomas Matthewsstrcmp
在两种语言中都是有效的。@Thomas指出对于std::string
对象需要进行转换是正确的。 - Thane Plummerstd::string
及其比较运算符重载和compare
成员函数。而while true
则表示循环体会一直执行下去。 - emlai