다음 코드에서 컴파일 에러가 발생하지 않고 올바르게 실행되는 것은 무엇인가요?
다음 코드에서 컴파일 에러가 발생하지 않고 올바르게 실행되는 것은 무엇인가요?
int numbers[3] = {5, 10, 15};
// 아래 중 올바른 코드는?
정답: B
각 선택지 분석:
1번 - 잘못된 코드:
⦁
numbers[3]
은 범위를 벗어난 접근입니다.⦁ 배열 크기가 3이므로 유효한 인덱스는 0, 1, 2뿐입니다.
⦁ 정의되지 않은 동작(undefined behavior)을 일으킵니다.
2번 - 올바른 코드:
⦁
numbers[1] = 25;
는 두 번째 원소를 25로 변경하는 유효한 연산입니다.⦁
cout << numbers[1];
는 25를 출력합니다.3번 - 잘못된 코드:
⦁ 배열 전체를 한번에 재할당하는 것은 불가능합니다.
⦁ 배열 이름은 상수 포인터이므로 다른 값으로 변경할 수 없습니다.
4번 - 잘못된 코드:
⦁ C++ 배열에는
.length()
메서드가 없습니다.⦁ 배열 크기를 구하려면
sizeof(numbers)/sizeof(numbers[0])
를 사용해야 합니다.
💡 학습 팁
이 문제를 포함한 C++ 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.