CHAPTER 5 : switch
[C언어 예제] getchar()이용해 switch구문 이해하기
A부터 C언어까지
2020. 11. 13. 10:00
안녕하세요, A부터 C언어까지 입니다. 이번 포스팅에서는 switch구문에 대해 더 이해해보도록 하겠습니다.
getchar() 함수를 이용해 문자를 입력받고 switch구문을 통해 어떤 문자가 출력되는지 확인해 보도록 하겠습니다.
다음의 코드는 무슨 코드인지 생각해봅시다.
코드
#include<stdio.h>
int main(void)
{
char c;
while (1)
{
c = getchar();
switch (c)
{
case'a':
case'e':
case'i':
case'o':
case'u':
putchar(c);
}
}
}
a,e,i,o,u가 문자열에 포함되었을때 : break가 없으므로 문자열 전체를 스캔하며 c에 저장했다가 마지막 출력에서 한꺼번에 출력되게 됩니다. 따라서 이 코드는 모음만 출력하는 프로그램이라고 할 수 있겠습니다.
다른 예제도 한번 살펴보도록 하겠습니다. 다음의 코드는 어떤 코드일까요?
코드
#include<stdio.h>
int main(void)
{
int i[5], pass = 0, fail = 0;
for (int a = 0; a < 5; a++)
{
printf("Enter Result (1=pass, 2=fail) : ");
scanf_s("%d", &i[a]);
}
for (int b = 0; b < 5; b++)
{
switch (i[b])
{
case 1:
pass++;
break;
case 2:
fail++;
break;
}
}
printf("Passed : %d \nFailed : %d", pass, fail);
}
printf문을 보니 pass/fail의 수를 세는 프로그램같아보입니다. 자세히 살펴봅시다.
이번 포스팅에서는 두 개의 예시를 통해 switch문에 대한 구체적인 이해를 해 보았습니다.
다음 포스팅에서는 switch구문의 구체적인 활용예시에 대해 더 알아보겠습니다.