강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

차희원님의 프로필 이미지
차희원

작성한 질문수

강의 5.12 while 문에 왜 {}가 없는 건가요?

작성

·

168

0

9분 12초에

void draw(int n)

{

while (n-- > 0)

printf("*");

printf("\n");

}

이 코드에 왜

{

while (n-- > 0)

{

printf("*");

printf("\n");

}

}

이렇게 안하나요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

차희원님, 질문해주신 while문에 대해 설명드리겠습니다. 프로그래밍 언어에서 while문은 조건이 참인 동안 계속해서 실행되는 반복문입니다. while문에서 중괄호 {}를 사용하는 것은 해당 while문의 범위를 지정하여 어떤 명령문을 반복할 것인지를 정하는 역할을 합니다.

본문에 제시된 코드에서는:

while (n-- > 0)
    printf("*");
printf("\n");

while문 바로 다음에 오는 printf("*"); 명령문만을 반복하며, printf("\n");은 반복하지 않는 구조입니다. 따라서 while문의 조건이 참인 동안 printf("*");가 반복 실행되고, 조건이 거짓이 되면 while문을 종료한 후 printf("\n");을 한 번만 실행하게 됩니다.

만약 중괄호를 사용하여 코드를 작성한다면:

while (n-- > 0)
{
    printf("*");
}
printf("\n");

이 경우에도 while문의 조건이 참인 동안 printf("*");만을 반복하고, printf("\n");을 반복하지 않는 동작은 같으나, 중괄호를 통해 명시적으로 printf("*");만이 while문의 범위에 속함을 나타내어 코드의 가독성을 높일 수 있습니다.

while문에 중괄호가 없는 경우는, 보통 단일 명령문만을 반복하고자 할 때 주로 사용하며, 그렇기 때문에 위의 코드에서는 while문 다음에 오는 하나의 명령문만을 반복하기 위해 중괄호를 생략한 것입니다. 하지만 여러 명령문을 반복하고자 하거나, 코드의 명확성을 위해 중괄호를 사용하는 것이 좋습니다.

차희원님의 프로필 이미지
차희원

작성한 질문수

질문하기