-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
case문 궁금증 ..
18.10.18 21:05 작성 조회수 169
0
for (int i = 0; i < 30; i++)
if (i >= 6 && i <= 10) {
if (i == 7) {
printf("%d번 학생은 결석입니다.n", i);
continue;
}
printf("%d번 학생은 발표해주세요.n",i);
}
switch (i) {
case 10:
printf("%d번 학생은 발표해주세요.n", i);
break;
case 9:
printf("%d번 학생은 발표해주세요.n", i);
break;
case 8:
printf("%d번 학생은 발표해주세요.n", i);
break;
case 7:
printf("%d번 학생은 결석했습니다.n", i);
continue;
case 6:
printf("%d번 학생은 발표해주세요.n", i);
break;
}
}
switch문을 사용하는 이유가 어떤건가요 ?
if문과 다르게 switch문은 조건넣는게 불편하내요.
case문을 잘 다루는 법을 몰라서 저렇게 하는게 맞나 잘 모르겠내요.
case 상수로 일일이 비교해야해서 여러 문장이 만들어지는데
어떨때 switch문을 사용하나요 ?
답변을 작성해보세요.
1
나도코딩
지식공유자2018.10.22
안녕하세요 나도코딩입니다. 결론부터 말씀드리면 언제 if else 를 쓰고 언제 switch case 를 쓰느냐 하면, "그때 그때 달라요" 입니다. 사용하시려는 목적 및 구문에 맞게 어울리는 방식으로 하시면 되구요, 기본적으로 if else 는 여러 상황에 맞게 참/거짓을 나누는 경우에 적합하고 switch case 는 여러 경우 중 각각 정해진 경우에 적합합니다. 예를 들어서 우리가 자동차를 나눌 때 "승용차" "오토바이" "트럭" "버스" 라고 하면 명확히 차량 구분이 되니 이 경우에는 switch case 가 좋을 것이며, "바퀴가 4개인 경우" "몇인승 이상인 경우" "무게가 얼마 이상인 경우" "길이가... " 이런식이라면 if else 가 더 적합해 보입니다. 범위(3미터 미만 / 3미터 이상 5미터 미만 / 5미터 이상~) 등으로 나눈다면 switch case 로 작성하기는 조금 어렵겠지요?! 감사합니다.
답변 1