작성
·
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
문 다음에 오는 하나의 명령문만을 반복하기 위해 중괄호를 생략한 것입니다. 하지만 여러 명령문을 반복하고자 하거나, 코드의 명확성을 위해 중괄호를 사용하는 것이 좋습니다.