我对C ++有点陌生。我有Java和Python的经验。在Java中,有一个方便的函数“ .equals()”来比较两个字符串。您当然不会在Java中使用“ ==”,因为它会测试两个对象是否完全相同,即I.E.。在内存中有相同的位置。
但是,在包括该网站在内的各种网站上都被告知,“ ==”是比较两个字符串是否相等的首选方法。如果您只想在两个字符串相等的情况下执行一条语句,这似乎很好,因此
string one = "foo"
string two = "foo"
if (one == two)
{
cout << "They are equal";
}
尝试使用相同的运算符或“!=”来计算两个字符串并在不相等的情况下执行语句时,事情就没有多大意义了。
我尝试通过((first == second)== 0)和(first!= second)来执行此操作,并且输出为true(1)。键入“ DONE”后,下面的程序应终止,但是不会发生。
string first = "DONE";
string second = "";
while ((first==second)==0)
{
cout << "Enter a line of text: ";
cin >> second;
cout << ((first==second)==0);
}
最佳答案
正确的运算符是!=
,并且应该起作用。
这是有关字符串比较运算符的文档:http://www.cplusplus.com/reference/string/string/operators/
这应该工作:
string first = "DONE";
string second = "";
while (first != second)
{
...
}
当然,如果您实际上不改变第二秒,它将永远循环。
关于c++ - C++的新功能,使用“==”的字符串相等问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32429647/