시나공 책을 통해 공부하고 있습니다
기출문제집 103쪽 3회 실전 모의고사 16번 문제에 보면
void initA 와
int funcA 함수에
for (int i = 0; i < 5 ; i ++)
포문이 둘다 포함 돼 있는데요
그럼 i 는 0 부터 4 까지 다섯번 돌아야 하는것 아닌가요?
정답에는 i 가 0 부터 5까지 여섯번 돌아서 문제를 풀고 있습니다.
그렇다면 답도 달라질 것 같구요
a[] 배열도 {1,2,3,4,5} 다섯개 인데 포문이 a[0] ,a[1] ,a[2] ,a[3] ,a[4] 로 다섯번이 맞지않나 싶어서 질문 드립니다.
애초에 i 가 5까지 돈다면 a[5] 라는 배열값이 없어 에러나지 않나요??
안녕하세요 길벗수험서 운영팀입니다.
for문의 반복 변수 값의 변화와 내부 코드의 반복 횟수에 대해 혼동하신 듯 합니다.
for (int i = 0; i < 5 ; i ++) 와 같은 식이 있다면 i가 0부터 4인 동안 총 5회 내부 코드를 반복하고, 마지막에 i가 5가 되면서 i<5가 거짓이 되면서 for문을 벗어나게 됩니다.
for문을 간략화 시키면 다음과 같습니다.
for(①; ②; ③)
④;
for문이 5회 반복한다고 가정할 때 다음과 같이 각 부분이 수행됩니다.
1회 : ①, ②(조건 참), ④
2회 : ③, ②(조건 참), ④
3회 : ③, ②(조건 참), ④
4회 : ③, ②(조건 참), ④
5회 : ③, ②(조건 참), ④
종료 : ③, ②(조건 거짓) <탈출>
-
관리자2023-07-05 09:47:36
안녕하세요 길벗수험서 운영팀입니다.
for문의 반복 변수 값의 변화와 내부 코드의 반복 횟수에 대해 혼동하신 듯 합니다.
for (int i = 0; i < 5 ; i ++) 와 같은 식이 있다면 i가 0부터 4인 동안 총 5회 내부 코드를 반복하고, 마지막에 i가 5가 되면서 i<5가 거짓이 되면서 for문을 벗어나게 됩니다.
for문을 간략화 시키면 다음과 같습니다.
for(①; ②; ③)
④;
for문이 5회 반복한다고 가정할 때 다음과 같이 각 부분이 수행됩니다.
1회 : ①, ②(조건 참), ④
2회 : ③, ②(조건 참), ④
3회 : ③, ②(조건 참), ④
4회 : ③, ②(조건 참), ④
5회 : ③, ②(조건 참), ④
종료 : ③, ②(조건 거짓) <탈출>
마지막에 종료될 때 ③번을 수행하지만 조건이 거짓이 되기 때문에, 내부 코드(④)를 수행하지 않고 for문을 벗어납니다. 이로 인해 i가 5인 시점이 발생하는 것입니다.행복한 하루되세요 :)