Computer >> Máy Tính >  >> Lập trình >> lập trình C

Tại sao các biến không thể được khai báo trong một câu lệnh switch trong C / C ++?

Các biến có thể được khai báo trong một câu lệnh switch. Bạn chỉ cần khai báo chúng và sử dụng chúng trong một phạm vi mới trong câu lệnh switch. Ví dụ:

Ví dụ

#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;
}

Đầu ra

Điều này sẽ cho kết quả:

13

Nếu bạn cố gắng khai báo biến khi đang mở, bạn có thể gặp lỗi vì Chuyển đến nhãn trường hợp giống như sử dụng goto, vì vậy bạn không được phép nhảy qua khai báo biến cục bộ khi đang ở trong cùng một phạm vi như nó và có thể đang sử dụng nó ở một nơi nào đó xa hơn trong phạm vi đó.