안녕하세요 길벗수험서 운영팀입니다.
코드로 단순하게 보죠.
4개의 값이 입력되고 마지막에 k는 5가 되었다고 가정합니다.
i=0, k=5;
while (i < k-1) {
i++;
printf("%d 출력", i);
}
순서도에서는 i값 출력하는 부분이 처리 부분에 해당하겠죠.
i에 0이 처음 들어가고, 처음 출력되는 것은 i++;을 수행하고 난 다음인
"1 출력" 이 화면에 출력됩니다. 다음으로 계속
"2 출력"
"3 출력"
이 다음 while 조건식을 통과할 때 i는 3이므로, while(i<k-1)은 참이므로 안의 코드를 다시 한 번 수행합니다.
"4 출력"
이렇게 출력된 후, while(i<k-1)을 만났을 때 i는 4이므로 while문을 벗어나게 되죠.
4, 즉 마지막 4번째 자료가 처리된다는 것을 확인할 수 있네요.
순서도나 코드의 반복되는 부분의 처음과 마지막부분은 반드시 디버깅해보세요.
단순히 눈으로 분석하는 것과는 차이가 발생할 수 있으니까요.
행복한 하루되세요 :)
-
관리자2020-07-10 16:23:38
안녕하세요 길벗수험서 운영팀입니다.
코드로 단순하게 보죠.
4개의 값이 입력되고 마지막에 k는 5가 되었다고 가정합니다.
i=0, k=5;
while (i < k-1) {
i++;
printf("%d 출력", i);
}
순서도에서는 i값 출력하는 부분이 처리 부분에 해당하겠죠.
i에 0이 처음 들어가고, 처음 출력되는 것은 i++;을 수행하고 난 다음인
"1 출력" 이 화면에 출력됩니다. 다음으로 계속
"2 출력"
"3 출력"
이 다음 while 조건식을 통과할 때 i는 3이므로, while(i<k-1)은 참이므로 안의 코드를 다시 한 번 수행합니다.
"4 출력"
이렇게 출력된 후, while(i<k-1)을 만났을 때 i는 4이므로 while문을 벗어나게 되죠.
4, 즉 마지막 4번째 자료가 처리된다는 것을 확인할 수 있네요.
순서도나 코드의 반복되는 부분의 처음과 마지막부분은 반드시 디버깅해보세요.
단순히 눈으로 분석하는 것과는 차이가 발생할 수 있으니까요.
행복한 하루되세요 :)