我的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循环中被识别。
由于
答案 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
的开始,并且每个编译器在被告知优化时将使用一个变量用于另一个变量。
事实上,重用变量是从代码的一部分到另一部分的不必要的状态,你应该避免它。使用一个新变量,它不会花费你任何东西(除非你关闭并指向你的循环索引或某些)
您的实际问题很可能比您演示的玩具更复杂。您可能希望发布一个自包含,简单,完整的代码示例,演示您想要执行的操作。