C언어 study_이중 반복문,무한 반복, 에러

민성철·2022년 11월 4일
0

nadocoding_study_C

목록 보기
7/17

이중 반복문

for문

이중 반복문은 for문 안에 for문을 사용하기 때문에, 중첩 반복문 이라고도 합니다.
사용법은 기존 for문 중괄호를 닫기전에 for문을 작성하고, 주의할 점은 두 번째 for문의 경우, 첫 번째 for문에 속하기 때문에 들여쓰기를 신경써줘야 합니다.
또한, 앞에서 변수 i를 선언했기 때문에 두 번째 for문에서는 변수 j를 사용합니다.
이중 반복문을 사용할때 변수 i, j 외에 다른 단어도 가능하지만, 주의할 점은 중복되면 안됩니다.

아래 예시 코드를 보겠습니다.

#include <stdio.h>

int main(void) {
	for (int i = 1; i < 4; i++) {
    	printf("%d 학년\n", i);
        for (int j = 1; j < 6; j++){
        	printf("    %d 반\n", j)
        }
    }
    return 0;
}

output

1 학년
    1 반
    2 반
    3 반
    4 반
    5 반

2 학년
    1 반
    2 반
    3 반
    4 반
    5 반

3 학년
    1 반
    2 반
    3 반
    4 반
    5 반
  • 무한 반복(infinite loop)
    이는 반복문을 사용할 때 발생하며, 조건이 반복문을 탈출하지 못하고 끝없이 반복 수행하는 것을 의미합니다.
    예로 C언어에서는 1을 참, 0을 거짓으로 인식합니다.
    따라서, while(1)을 하게 될 경우, 조건이 항상 참이 되어 무한 반복에 빠지게 됩니다.
    또한, while, do-while문에서는 증감 연산자를 작성하지 않을 경우 (i <= 10)이라는 조건에 선언을 1로 한다면 항상 1이기 때문에 무한 반복에 빠지게 됩니다.
    의도적으로 무한 반복을 생성하는 경우도 있지만, 그렇지 않을 경우, 강제 종료할 수 있는 방법은 [windows (Ctrl + C)], [mac (control + C]를 누르면 됩니다.

  • 이번 증감 연산자와 반복문, 이중 반복문을 하면서 마주쳤던 에러는 반복문에서 선언하는 부분에서 자료형을 설정해주지 않아 발생했던 에러와 조건문에서 비교 연산자를 잘못 기재해 무한 반복에 빠졌습니다.
    위에 문제를 해결하기 위해서 익숙해지기 위해 코드를 지속 작성했습니다.

profile
ENTJ-A

0개의 댓글