gpt4 book ai didi

c++ - C++ 新手,使用 "=="的/字符串相等性问题

转载 作者:行者123 更新时间:2023-11-28 02:21:08 26 4
gpt4 key购买 nike

我对 C++ 有点陌生。我有使用 Java 和 Python 的经验。在 Java 中,有一个方便的函数“.equals()”来比较两个字符串。您当然不会在 Java 中使用“==”,因为它会测试两个对象是否完全相同,即在内存中有相同的位置。

但是,包括本网站在内的各种网站告诉我,“==”是比较两个字符串是否相等的首选方式。如果您只是想在两个字符串相等时执行一条语句,这似乎没问题,因此

string one = "foo"
string two = "foo"

if (one == two)
{
cout << "They are equal";
}

当尝试使用相同的运算符或“!=”来计算两个字符串并在它们不相等时执行一条语句时,事情就没有那么有意义了。

我尝试通过 ((first==second)==0) 和 (first != second) 执行此操作,输出为真 (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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com