【问题标题】:What does this for loop condition mean in C?这个 for 循环条件在 C 中是什么意思?
【发布时间】:2019-03-29 08:51:19
【问题描述】:

由于我是 C 新手,我很难弄清楚以下循环的含义。 我有一些 temp 值和一个数组 v。中间部分评估为真或假,所以我真的很困惑。

for( j=i ; j>0 && temp<v[j-1] ; j--){...}

【问题讨论】:

  • 究竟哪一部分让您感到困惑? “中间部分”始终是计算结果为真或假的表达式
  • 这个 for 循环通过什么值?它似乎没有范围。它从 j 到 true/false ??例如 for(j=0 ; j
  • 第一个设置初始条件,第二个设置在每次迭代之前必须评估为 true 的部分,否则循环将终止,最后一个部分是每个循环之后和下一个循环之前发生的情况。跨度>
  • 循环直到j达到0或temp的值大于或等于v[j-1],以先发生者为准
  • for C 中的循环非常通用:你知道的循环从 0 迭代到 4。但你也可以从某个值递减和倒数到 0。或者你可以加倍(j = j * 2 ) 或减半 (j = j / 2) 或 ...

标签: c for-loop conditional


【解决方案1】:

这一行非常简单: 当值小于“temp”时,向后迭代数组'v' 的'i' 元素。 当 value 大于或等于 'temp' 或 'j' 变为零时退出循环。

【讨论】:

    【解决方案2】:
    1. 将j的初始值设置为i
    2. 检查j 以查看它是否大于0 并检查temp 以查看它是否小于数组v 中索引j - 1 中元素的值。如果两种情况都成立,则进行步骤 3;如果任一情况为假,请继续执行第 5 步。
    3. 执行for 循环的主体。最后,将j 减少1
    4. 重复步骤 2
    5. 退出循环

    【讨论】:

      【解决方案3】:

      当j&gt;0 和temp&lt;v[j-1] 都是true 时,执行for 循环的主体。

      这里 j=i,i-1,.......,2,1,0

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-11
        相关资源
        最近更新 更多