【问题标题】:What is the precedence of operator used here in for loopfor循环中使用的运算符的优先级是什么
【发布时间】:2020-12-08 16:05:29
【问题描述】:

什么优先级表达式 - k <= jp && k <= jz - i 采用以下 for 循环。 如果我必须为这个表达式加上大括号,我该如何考虑..?

for (fw = 0.0, k = 0; k <= jp && k <= jz - i; k++)

【问题讨论】:

标签: c++ c c++11 operators


【解决方案1】:

k &lt;= jp &amp;&amp; k &lt;= jz - i 被分组为(k &lt;= jp) &amp;&amp; (k &lt;= (jz - i))。

在for (fw = 0.0, k = 0; k &lt;= jp &amp;&amp; k &lt;= jz - i; k++) 中,分号将各个部分完全分开; k &lt;= jp &amp;&amp; k &lt;= jz - i 不与它之前或之后的项目混合。

【讨论】:

    【解决方案2】:

    您可以在cppreference.com 阅读有关优先顺序的更多信息。

    如果您不确定优先顺序,最好在代码中添加括号。

    在表达式的术语周围使用括号有两个原因。

    1. 控制优先顺序。
    2. 使代码更具可读性。

    在您的情况下,我认为使用以下代码将更具可读性:

    for (fw = 0.0, k = 0; (k <= jp) && (k <= (jz - i)); k++)
    

    【讨论】:

      猜你喜欢
      • 2017-10-13
      • 2011-10-25
      • 2018-06-21
      • 1970-01-01
      • 1970-01-01
      • 2016-11-18
      • 2013-07-27
      相关资源
      最近更新 更多