【问题标题】:Access for-loop index variable from attached for-loop从附加的 for 循环访问 for 循环索引变量
【发布时间】:2021-04-07 11:41:32
【问题描述】:

我有这个代码:

for (int i = 0; i < var; i++)
  for (int j = 0; j < var2; j++)
    // something which using j variable

我可以使用第一个循环中的i 变量代替var2 变量吗?

【问题讨论】:

  • 你确定在第二个 for 循环中是 i++ 还是一个错字,你的意思是 j++
  • 是的,我的意思是j++

标签: c for-loop variables


【解决方案1】:

以下代码将是一个无限循环,直到达到限制(如果您已将 var2 替换为 i ,值 i 将不断增加)

#include <stdio.h>

int main()
{
    int var=10;
    for (int i = 0; i < var; i++)
  for (int j = 0; j < i; i++)
    {
     printf("test %d", i );    
    
    }
    
}

【讨论】:

    【解决方案2】:

    快速说明:如果您的代码使用方括号{},则变量的范围位于方括号边界内。如果没有 c 中的括号,您的循环将一直持续到下一个分号(换句话说,一行代码)

    for (int i = 0; i < var; i++) {
       // i can use i here but not j
       for (int j = 0; j < i; i++) {
       // something which using j variable
       // something using i variable
       }
       // i can use i here but not j
    }
    

    要了解更多信息,请查看 C 中的 Scope https://www.tutorialspoint.com/cprogramming/c_scope_rules.htm#:~:text=A%20scope%20in%20any%20programming,which%20is%20called%20local%20variables

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-30
      • 2021-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多