Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C/C++의 switch 문에서 변수를 선언할 수 없는 이유는 무엇입니까?

<시간/>

변수는 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

열린 상태에서 변수를 선언하려고 하면 케이스 레이블로 점프하는 것이 goto를 사용하는 것과 동일하기 때문에 오류가 발생할 수 있으므로 동일한 범위에 있는 동안 로컬 변수 선언을 건너뛸 수 없습니다. 그대로이고 그 범위에서 더 먼 곳에서 사용할 수 있습니다.