string command;
string bookName;
while (cin >> command, command != "END")
{...}
这里在while循环的条件中,有一个逗号。
我知道可以使用&&
或||
添加多个条件。
但为什么要使用,
?
有什么好处吗?你能解释一下使用方法和语法吗?
答案 0 :(得分:19)
这是逗号运算符,也称为“评估并忘记”运算符。 a, b
的效果是:
a
,包括任何副作用b
b
的结果作为整个表达式a, b
循环的作者想要表达以下内容:
从
command
读取cin
,然后输入循环体,除非command
等于"END"
但是,最好在这里使用&&
代替,
,因为cin >> command
可能会失败(即如果在单词{{1}之前到达输入的结尾找到了)。在这种情况下,END
的条件不会按预期执行(它可能永远循环,因为,
永远不会收到值command
),而条件{{1}做正确的事(终止)。