【问题标题】:What is the use of "," in while loop condition c++? [duplicate]在while循环条件c ++中“,”有什么用? [复制]
【发布时间】:2017-12-07 14:45:57
【问题描述】:
string command;
string bookName;
while (cin >> command, command != "END")
{...}

在 while 循环的条件中,有一个逗号。 我知道可以使用&&|| 添加多个条件。

但为什么要使用,

有什么特定的好处吗?你能解释一下用法和语法吗?

【问题讨论】:

标签: c++ while-loop


【解决方案1】:

它是逗号运算符,也称为“评估并忘记”运算符。 a, b的效果是:

  1. 评估a,包括任何副作用
  2. 丢弃它的价值(即什么都不做)
  3. 评估b
  4. 使用b的结果作为整个表达式a, b的结果

循环的作者想表达以下内容:

cin中读取command,然后进入循环体,除非command等于"END"

但是,他们最好在此处使用&& 而不是,,因为cin >> command 可能会失败(即,如果在找到单词END 之前到达输入的结尾)。在这种情况下,, 的条件不会达到预期的效果(它可能会永远循环,因为command 永远不会收到END 的值),而&& 的条件会做正确的事情(终止)。

【讨论】:

  • 关于无限循环错误的优秀捕获!
猜你喜欢
  • 2017-10-07
  • 1970-01-01
  • 2022-01-03
  • 2011-12-03
  • 1970-01-01
  • 2012-02-14
  • 1970-01-01
  • 1970-01-01
  • 2011-02-06
相关资源
最近更新 更多