최근 수정:
#define _CRT_SECURE_NO_WARNINGS
#include
int main()
{
int var;
scanf("%d",&var);
switch (var) {
case 1: 여기서 case 1 뒤에는 콜론(:)을 붙인다. 이를 레이블 이라고 한다.
printf("var = 1");
printf("
");
break; break;는 분기문을 의도에 따라 구현할 때 반드시 있어야 한다.
case 2:
printf("var = 2");
printf("
");
break;
case 3:
printf("var = 3");
printf("
");
break;
case 4:
printf("var = 4");
printf("
");
break;
case 5:
printf("var = 5");
printf("
");
여기에 break를 의도적으로 생략. 이 코드가 어떻게 돌아가는지 시험해 볼 것.
case 6:
printf("var = 6");
printf("
");
default: default는 var이 1~6도 아닌 경우.
printf("var is out of lable");
break;
}
}
위 코드에서 var에 1을 넣을시 출력 결과 : var = 1;
위 코드에서 var에 2를 넣을시 출력 결과 : var = 2;
위 코드에서 var에 3을 넣을시 출력 결과 : var = 3;
위 코드에서 var에 4를 넣을시 출력 결과 : var = 4;
위 코드에서 var에 5를 넣을시 출력 결과 : var = 5;
var = 6;
위의 출력결과에서 보는것 처럼, 각 분기마다 break를 걸지 않을시, 아래 케이스를 전부 수행한다.
또한, 분기의 구분은 break를 만날때 까지라는것은 중괄호로 구분하지 않는다는 것이다.
그러나, switch문 자체는 여러 분기를 쓸 떄 중괄호를 쓰므로, 주의하기 바람.
+ 위 분기문을 if-else문으로 바꾸는 실습을 진행하기 바람.