在循环内声明一个变量但是在外面使用它?

时间:2014-12-07 10:52:32

标签: c++

正如标题所示,如何在循环内声明变量并在外部使用它?

示例

void Function(String s)
{
    for(i = 0; s[i] != '\0'; ++i)
    {
        switch(s[i])
        {
            case 'i':int x;
            case 'd':double x;
            case 'c':char x;
        }//end of switch
    }//end of for loop

    //now i want to use 'x' here,i.e.,out side the loop how will i do it?

}//end of void function

编辑我知道范围的事情,但我看到有一个用模板类/函数实现这个但我不知道如何使用模板类/ func来做这个..所以谁知道?

2 个答案:

答案 0 :(得分:0)

{ } - 是范围分隔符,您在其中定义的任何内容都无法在外部访问。因此,如果您愿意,可以在循环外声明它,然后您可以在外部和内部循环中访问它。

答案 1 :(得分:0)

没有。简化,这就是范围 - 可以访问声明变量的范围。

如果要从外部范围访问变量,则需要在外部范围内声明该变量:

{
   int x = 0;
   for (...)
   {
       x= 1;
   }
   if (x ==1)
   {
       printf("it works");
   }
}