파게로그
switch-case문의 제약 본문
case에 정수형(ex: int, char, enum)만 사용할 수 있음!
cf.
switch-case문에서 break 안 써서 아래 코드 쭉 실행시키는 걸 fall-through라고 함
fall-through는 코딩 표준에서.. 명시적으로 표기하도록..!
예)
enum day { DAY_MONDAY, DAY_TUESDAY, DAY_WEDNESDAY /*...*/ };
enum day day = DAY_MONDAY;
switch (day) {
case DAY_MONDAY:
printf("Sad\n");
/* intentional fallthrough */
case DAY_FRIDAY:
printf("Happy\n");
break;
default:
printf("Soso\n");
break;
}
cf. case 레이블은 반드시 상수만 가능(컴파일 시에 결정되어야 한다.)
ex.
int ages[] = {20, 30};
int age;
switch (age) {
case ages[0]: /* compile error */
printf("young\n");
break;
case ages[1]: /* compile error */
printf("old\n");
break;
default:
printf("unknown\n");
break;
}
'콤퓨타 왕기초 > C' 카테고리의 다른 글
for문 제약, while문 제약 (0) | 2021.03.10 |
---|---|
bool expression (0) | 2021.03.10 |
size_t (0) | 2021.03.10 |
연산자 (0) | 2021.03.10 |
C89(C90)에서의 변수 선언 위치 (0) | 2021.03.09 |
Comments