번외편) 여러모로 쓰기 좋은 break, goto
break는 {}를 벗어날 수 있게 해 주는 코드이다. 예를 들어 만약 n번 반복하는 코드에서 a가 6이 맞으면 6을 출력하고
실행을 끝내는 코드를 만들어 보겠다.
#include <stdio.h>
int main()
{
int n, a;
scanf("%d%d", &n, &a);
for(int i=1; i<=n; i++) // i가 n이 될 때까지 반복한다.
{
if( a == 6 ) // a가 6이면 {}를 실행한다
{
printf("%d", a);
break; // 반복문이 끝나지 않았더라도 반복문 다음을 실행한다.
}
}
return 0;
}
이렇게 코드를 짜면 n이 6보다 클 경우에 어떤 값이 입력이 되든 6이 출력될 수 있다.
다음으로 goto는 원하는 위치로 이동할 수 있게 해주는 코드이다. 흔히 아는 텔레포트를 코드 내에서 실현시킬 수 있는 것이라고 생각하면 된다.
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
reload: // 이 곳에서 다시 실행 (주의!! reload 뒤에 쓰는 것은 ' ; '이 아니라 ' : '이다.)
if( n >= 0 ) // 만약 n이 0보다 크다면 {}안의 내용을 실행
{
printf("%d", n);
}
else
{
goto reload; // reload: 가 있는 곳으로 이동
}
return 0;
}
이렇게 하면 n이 0보다 작을 경우 다시 돌아가서 if 문부터 실행시킬 수 있다. 즉 판별을 2번 할 수 있다는 것이다.
여러가지에 활용이 가능함으로 잘 알고 있다가 써보자!