[24일차](홍정모의따배c)goto를 피하는법
*본 강의수기는 교수님의 모든 ppt나 코드 화면을 붙인게 아닙니다. 따로 출처 표시나 과제표시
안한 모든 코드와 사진자료의 출처는 본 강의의 교수님 입니다.
정리는 다시한번 제가 보기위함과 어떤강의인지 알려드리는 것이고
제가 적은건 이해를 돕기 위한 부연설명과 제가 이해한 몇개의 중심적인 내용이 다소
생략이 되었습니다. 이 수기를 통해 공부하려 하지말고 흥미로운 내용이라면
'인프런- 홍정모의 따라하며 배우는c' 과정을 수강하시길 바랍니다.
강의에선 goto문의 활용을 가르쳐준다.
그렇지만 제목은 왜 goto를 피하는법일까?
답은 goto를 쓰지말것을 권장하기 때문이다.
- 교수님코드
#include <stdio.h>
int main()
{
int size = 15, cost;
if (size < 10)
goto a;
goto b;
a: cost = 50 * size;
b: cost = 100 * size;
return 0;
}
이렇게 말고도 if나 else로 충분히 구현가능하다
if (size < 10)
cost = 50 * size;
cost = 100 * size;
옛날엔 goto를 엄청 많이썼다고 한다.
if (size < 10)
cost = 50 * size;
else
cost = 100 * size;
else를 활용하는것도 가능
read : c = getchar();
putchar(c);
if (c == '.') goto quit;
goto read;
quit:
글자를 계속 입력을 받고 '.'을 입력받으면
프로그램이 멈추는 코드
이역시 while이나 for문을 활용해 충분히 더 간단하게 대안가능하다.
while (1)
{
c = getchar();
putchar(c);
if (c == 'c')
break;
}
하지만 나는 goto라는 직관적인 이름때문에 더 애정이가긴하다.