2022년 5월 23일에 작성됨
https://codeup.kr/problem.php?id=1071
[기초-반복실행구조] 0 입력될 때까지 무한 출력하기1(설명)
C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용
codeup.kr
문제 분석
if 문과 goto 문을 사용한다. 정수를 개수 상관없이 입력하고 입력된 정수를 줄을 바꿔 하나씩 출력하는데, 만약 0이 입력되면 0을 출력하지 않고 그대로 종료한다.
소스 코드 (⭕)
#include <stdio.h>
int main()
{
int n;
re:
scanf("%d", &n);
if (n == 0)
return 0;
else {
printf("%d\n", n);
goto re;
}
}
코드 분석
만약 n이 0이면, 그대로 프로그램을 종료한다.
0이 아니라면 입력한 수를 그대로 출력하고, 지정된 re 레이블(label)로 강제 이동하여 다시 입력한 수가 0인지 아닌지를 판별하는 과정을 반복한다.
그러다 0이 나오면 그대로 종료된다.
end
goto 문은 강제 이동하는 분기문으로, 많이 사용할 경우 프로그램이 복잡해져서 최대한 안쓰는 것이 좋다고 한다. 앞으로 코드를 짜면서 goto 문은 안쓰도록 해야겠다.
'코딩테스트 & 문제 풀이' 카테고리의 다른 글
[C]코드업_1370 : 지그재그 출력하기 (0) | 2023.04.23 |
---|---|
[C]코드업_1074 : [기초-반복실행구조] 정수 1개 입력받아 카운트다운 출력하기1 (2) | 2023.04.22 |
[C]백준_10872 : 팩토리얼 (0) | 2023.04.21 |
[C]코드업_1070 : [기초-조건/선택실행구조] 월 입력받아 계절 출력하기(설명) (0) | 2023.04.20 |
[C]코드업_1068 : [기초-조건/선택실행구조] 정수 1개 입력받아 평가 출력하기(설명) (0) | 2023.04.19 |