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

윤지영님의 프로필 이미지

작성한 질문수

C 프로그래밍 - 입문부터 게임 개발까지

while

While 문의 조건

작성

·

143

0

int i = 1;

while (i <= 10)

{

printf ("hello world %d", ++i);

}

로 작성했을 때, %d 부분이 2 부터 11로 출력되는데 왜 그런 건가요? 조건이 i <= 10 니까 11은 안 나와야 하는 거 아닌가요?

답변 1

1

Soyoung Jung님의 프로필 이미지

2021. 02. 27. 21:37

printf 부분에서 ++i 로 써주셨기 때문에 i가 1일 때는 1이 증가한 2로 값이 업데이트된 i가 출력되고 마찬가지로 마지막에 i가 10일 때는 ++i 로 인해 1이 증가한 11이 출력되는 것입니다. 강의의 예제에서는 ++i 가 아닌 i++ 로 써주었기 때문에 i가 10일때는 10으로 출력되고 다음 줄에서야 i 값이 11이 되고 이때는 조건에 해당 안되므로 while문을 탈출합니다.