首页 > 文章列表 > 为什么在C/C++的switch语句中不能声明变量?

为什么在C/C++的switch语句中不能声明变量?

变量(Variable) 声明(declaration) switch语句(switchstatement)
171 2023-08-20

在switch语句中可以声明变量。您只需要在switch语句中声明并在新的作用域内使用它们。例如,

示例

#include<iostream>
using namespace std;

int main() {
   int i = 10;
   switch(i) {
      case 2:
      //some code
      break;
      case 10:{
         int x = 13;
         cout << x;
      }
   }
   return 0;
}

输出

这将给出输出:

13

如果你试图在公开的地方声明变量,可能会出现错误,因为跳转到一个case标签与使用goto相同,所以在相同的作用域中,你不允许跳过局部变量的声明,因为你可能在该作用域的其他地方使用它。