Skip to main content
reversal printf by for loop

이중 for문 사용하여 역순으로 출력하기

이중 for문 (반복문) 그리고 printf 사용하여 간단한 출력 프로그램을 코딩하려고 합니다.

#include <stdio.h>
 
int main()
{
    int i;
    int j;
    
    for ( i = 5; i >= 0; i--) {
        for ( j = 0; j < i; j++) {
            printf("O");
        }
        printf("\n");
    }
    return 0;
}

결과값:

OOOOO
OOOO
OOO
OO
O

해석:

먼저 C언어의 기본적인 구조에 대한 이해가 부족하다면 지난 포스팅 참고하기 바랍니다.

위와 같은 결과값을 출력하기 위해서는 이중 for문 그리고 printf만 사용하면 됩니다.

for ( i = 5; i >= 0; i--)

첫 for 루프에서는 같은 모양으로 출력될 갯수를 정의하고 루프를 돌리기 시작합니다.
한번 루프가 돌때마다 i–로 하나씩 줄어듭니다.

for ( j = 0; j < i; j++)

두번째 for 루프에서는 0번째(j=0)부터
첫 번째 루프에서 받은 값(j < i)까지 printf(“O”)를 반복해서 출력합니다.

i는 첫번째 for 루프에서 넘어온 값이기 때문에 5, 4, 3 … 0 순으로 됩니다.

기본적으로 printf는 ‘\n’을 포함하지 않기 때문에
두번째 for 루프에서 같은 모양을 연속해서 출력하게 되고
두번째 for가 끝날 때 ‘\n’을 입력함으로써 다음행으로 넘어가게 됩니다. (엔터 같은 역활)

첫번째 for문에서 i = 5

두번째 for문에서 j=0 ~  4가 될때까지 printf(“O”)를 다섯 번 출력하게 됩니다.

첫번째 for문에서 i = 4

두번째 for문에서 j=0 ~  3가 될때까지 printf(“O”)를 네 번 출력하게 됩니다.

.

.

.

이런식으로 반복해서 출력을 하여 결과값을 얻습니다.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다