책 내용 질문하기
1권 section28 234쪽
도서
2021 시나공 정보처리산업기사 실기
페이지
234
조회수
470
작성일
2021-07-03
작성자
탈퇴*원
첨부파일
유형 2의 정답 코드에서 i가 바로 위쪽 for문에서 값이 4로 초기화 되었는데 그럼 for문을 탈출하고 나서는 i를 사용할 수 없지 않나요?
만약 i가 3일때 a[3]이 1이 되어 반복문을 빠져나갔다면 b[3] = a[3]이 되어야 하는데 가능한지 궁금합니다
int i, j;
int a[5] = {0, 1, 0, 1, 0}, b[5];
for(i = 4; i >= 0; i--) {
if(a[i] == 1) break;
b[i] = a[i]; ------------> 이 부분입니다
}
b[i] = a[i];
답변
2021-07-05 16:02:09
안녕하세요 길벗수험서 운영팀입니다.
해당 코드에서 i는 사용이 가능합니다.
i가 for문의 지역변수가 아닌 main() 함수의 지역변수로 사용되었기 때문에 그와 같이 구성이 가능합니다.
말씀하신 경우는 1번에서 int i가 선언되지 않고, for문 내에서
for (int i=4; i>=0; i--) 와 같이 선언되었을 때로,
이 때에는 5번의 코드에서 i를 찾을 수 없다는 종류의 에러가 발생하여 프로그램이 종료하게 됩니다.
행복한 하루되세요 :)
-
관리자2021-07-05 16:02:09
안녕하세요 길벗수험서 운영팀입니다.
해당 코드에서 i는 사용이 가능합니다.
i가 for문의 지역변수가 아닌 main() 함수의 지역변수로 사용되었기 때문에 그와 같이 구성이 가능합니다.
말씀하신 경우는 1번에서 int i가 선언되지 않고, for문 내에서
for (int i=4; i>=0; i--) 와 같이 선언되었을 때로,
이 때에는 5번의 코드에서 i를 찾을 수 없다는 종류의 에러가 발생하여 프로그램이 종료하게 됩니다.
행복한 하루되세요 :)