do-while 반복문
int i = 3; do { printf("hi\n"); i++; } while (i < 5); printf("hello\n");
• while 조건식 i < 5 참 또는 거짓 판단 없이 우선 “hi”를 출력하고 i값을 1 증가시킵니다.
• i = 4일 때 4 < 5는 참이므로 “hi”를 출력하고 i값을 1 증가시킵니다.
• i = 5일 때 5 < 5는 거짓이므로 while 반복문을 빠져 나와서 “hello”를 출력합니다.
while 반복문과 do-while 반복문의 실행 결과는 같습니다. 그러나 “hi”를 출력하는 경우와 반복문을 빠져 나오는 경우를 잘 생각하기 바랍니다.
만약 i = 3이 아니라 i = 6이였다면 어떻게 되었을까요? while 반복문의 경우 6 < 5 조건식이 거짓이므로 바로 while 반복문을 종료하고 “hello”를 출력할 것입니다. 하지만 do-while 반복문은 조건식을 검사하기 이전에 우선 “hi”를 출력하고 이후에 조건식 검사가 거짓이므로 do-while 반복문을 종료하고 “hello”를 출력할 것입니다. 결론적으로 while 반복문의 경우에는 “hello”만 출력하고 do-while 반복문은 “hi”와 “hello”를 출력할 것입니다.