티스토리 뷰
Programming Language/C basic
[C언어] CHAPTER 07 반복문 / goto문을 활용하여 중첩 반복문에서 외부로 빠지기
또야 2021. 3. 27. 20:50반응형
for문이나 while문에서는
반복을 멈추고 외부로 빠져나가는 방법을
break; 문으로 선언할 수 있다.
하지만 중첩 반복문에선 break;을 한 번 쓰면
반복문의 한 영역만 빠져나간다.
이에 반해, goto문을 활용 하면
중첩 반복문에서 원하는 곳으로
바로 빠져나갈 수 있다.
goto문은 원래는 이용하는 것을 거의
금하다시피 권장하지 않는데,
이럴 때는 꽤나 유용하다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 |
#include <stdio.h>
#include <conio.h>
int main(void)
{
int x, y;
for (y = 1; y < 10000; y++)
{
for (x = 1; x < 100; x++)
{
if ( _kbhit() )
goto OUT;
printf("*");
}
printf("\n");
}
OUT:
return 0;
}
|
cs |
- 설명
중첩 for문의 반복 범위를 넉넉하게 잡아주고,
_kbhit() 함수(keyboard hit)를 이용하여
키를 입력하면 OUT으로 가게 한다.
OUT에는 return 0;으로 프로그램이 종료되도록 하였다.
(_kbhit()을 쓰기 위해서는
conio.h 헤더 파일의 삽입이 필요하다.)
- 결과
마지막 줄에 *가 끊긴 부분은
사용자가 키를 입력하여
_kbhit() 함수가 키를 인식하였고,
goto문에 의해
OUT: return 0; 이 실행되어
프로그램이 종료된 것이다.
- 한마디
<conio.h> 헤더 파일의
_kbhit() 함수를 알게 되어 재밌었다.
키 입력과 같은 이벤트 처리를
c 라이브러리에서 보다니
더 많은 기능이 있는지 궁금하다.
반응형
'Programming Language > C basic' 카테고리의 다른 글
[C언어] CHAPTER 07 반복문 / Programming 12 / 피보나치 수열 (0) | 2021.03.27 |
---|---|
[C언어] CHAPTER 07 반복문 / Programming 07 / 2와 100 사이에 있는 모든 소수를 찾는 프로그램 (0) | 2021.03.27 |
[C언어] CHAPTER 07 반복문 / 직각 삼각형 찾기, 피타고라스 수 찾기(중복 고려) (2) | 2021.03.27 |
[C언어] CHAPTER 06 조건문 / Programming 04 / 가위바위보 게임 (0) | 2021.03.26 |
[C언어] CHAPTER 05 수식과 연산자 / Programming 03 / 3개의 정수 최대값 찾기 (0) | 2021.03.24 |
댓글
반응형
Recent Post.
Recent Reply.
- Thanks for comming.
- 오늘은
- 명이 방문했어요
- 어제는
- 명이 방문했어요