while문으로 별 모양 출력하는 코드 질문드려요

중첩 while문으로 아래처럼 출력하는 문제를 풀고 있어요.
*
o*
oo*
ooo*
oooo*
제가 작성한 코드를 실행하면 아래처럼 나옵니다.
*
o*
oo*
oo*
oo*
어디서 막혀서 원하는 결과가 안 나오는지 모르겠어요.
다른 방식보다 제 코드에서 잘못된 부분을 알려주시면 감사하겠습니다.

댓글 6

  • 가온길 2026.08.23

    답변 주신 분들 모두 감사합니다.
    여러 가지 방법을 알려주셔서 더 열심히 공부해야겠어요.

  • 든해 2026.08.23

    이렇게 작성하면 될 것 같아요.
    ```c
    #include <stdio.h>
    int main(void)
    {
    int i = 0, j = 0;
    while (i < 5)
    {
    while (j < i)
    {
    printf("o");
    j++;
    }
    j = 0;
    printf("*
    ");
    i++;
    }
    }
    ```

  • 스릉흔드 2026.08.23

    저도 이 문제 때문에 한참 고민했어요.
    중첩 for문으로 만들면 좀 더 이해하기 쉬울 수 있어요.
    ```c
    #include <stdio.h>
    int main(void)
    {
    int i, j;
    for (i = 0; i < 5; ++i)
    {
    for (j = 0; j < i; ++j)
    printf("o");
    printf("*
    ");
    }
    }
    ```

  • 블레이 2026.08.23

    처음엔 어려워도 차근차근 해보면 금방 익숙해질 거예요.
    말씀하신 것처럼 하나씩 풀어가면 됩니다.

  • 봉봉 2026.08.23

    디버깅하면서 a, b, c의 값이 어떻게 바뀌는지 확인해보면 도움이 돼요.
    저도 코드 수정 자체보다 디버깅으로 오류를 찾는 데 시간이 더 걸릴 때가 많아요.

  • 미투리 2026.08.23

    처음에는 연습장에 a, b, c 값을 적고 출력 결과도 따로 기록해보세요.
    코드 흐름을 따라가며 값이 어떻게 바뀌는지 보면 이해하기 쉬워요. 번거롭다면 디버깅 기능으로 따라가도 좋고요.