从for循环到另一个循环的变量

时间:2012-12-05 18:31:21

标签: c++ variables for-loop while-loop

我的uni项目有c ++代码......

for (int a=0; a<definedgroups; a++)
{
    cout << "Enter Lower number for group " << a << ": "; 
    cin >> User_Groups [a] [0] ;

}

现在我想声明另一个显示数字

的循环

我可以使用第一个变量中的A并说...

while (a>0)
{
displays code, have written yet
}

或是“a”仅在第一个for循环中被识别。

由于

6 个答案:

答案 0 :(得分:0)

是的,变量a的范围仅限于for循环的主体。如果您想重用变量/稍后使用它,您可以在for循环之前声明它:

int a=0;
for (; a<definedgroups; a++)
{
  cout << "Enter Lower number for group " << a << ": "; 
  cin >> User_Groups [a] [0] ;
}
while(a > 0)
{
...
}

答案 1 :(得分:0)

a在第一个循环的范围内声明,所以是的,它只在那里可用。要重复使用它,您可以在外面声明:

int a;
for (a=0; a<definedgroups; a++)
{
    cout << "Enter Lower number for group " << a << ": "; 
    cin >> User_Groups [a] [0] ;
}

答案 2 :(得分:0)

该变量只能用于嵌套循环。

如果你想要使用相同var的2个不同的循环,你应该在它们之前声明它

答案 3 :(得分:0)

“a”仅在第一个for循环的范围内。

做你想做的事:

int a;
for(a = 0 ; ...)
{
  ...
}

while(a > 0) ...

答案 4 :(得分:0)

变量a范围仅包含for loop

如果要访问a中的while loop,则需要将其分配给两个循环之外的全局变量。

假设您想要访问a的每个不同值,那么您需要将它存储在一个数组中,然后它真的没有意义,因为您可以创建ints的递增顺序。

但如果这就是你想要做的事情,那么这就是我要做的事情,因为piokuc已经回答了。

int [] global_a;
for (int a=0; a<definedgroups; a++)
{
  cout << "Enter Lower number for group " << a << ": "; 
  cin >> User_Groups [a] [0] ;
  gloabl_a[a] = a;
}

for (int i=0; i<global_a.size; i++){
   while(a > 0)
   {
   ...
   }
}

答案 5 :(得分:0)

for循环结束时,除非您提前爆发,a == definedgroups为真。

因此使用'相同的变量'几乎没有意义。您可以创建一个新变量并将其作为等于definedgroups的开始,并且每个编译器在被告知优化时将使用一个变量用于另一个变量。

事实上,重用变量是从代码的一部分到另一部分的不必要的状态,你应该避免它。使用一个新变量,它不会花费你任何东西(除非你关闭并指向你的循环索引或某些)

您的实际问题很可能比您演示的玩具更复杂。您可能希望发布一个自包含,简单,完整的代码示例,演示您想要执行的操作。