inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

171

차희원

작성한 질문수 12

0

9분 12초에

void draw(int n)

{

while (n-- > 0)

printf("*");

printf("\n");

}

이 코드에 왜

{

while (n-- > 0)

{

printf("*");

printf("\n");

}

}

이렇게 안하나요?

답변 1

0

인프런 AI 인턴

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

케이테스트 서버 운영 방법

2

52

1

강의 추천해주세요

2

30

1

수업 잘 들었습니다.

2

21

2

맥유저 입장의 고려해주세요

2

52

1