• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

While 문의 조건

20.12.22 09:37 작성 조회수 103

0

int i = 1;

while (i <= 10)

{

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

}

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

답변 1

답변을 작성해보세요.

1

Soyoung Jung님의 프로필

Soyoung Jung

2021.02.27

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