299p
Exercise
7. int a[100]과 같이 선언되었다고 하자. 다음 중 배열 원소를 잘못 참조하고 있는 것을 모두 선택하여라. 답 : ①, ③, ⑤
① int a[index+1];
② a[100] = 0;
③ a[1..2] = 0;
④ a[0] = a[1];
⑤ x = a[ ]; // x는 정수형 변수
8. 배열에 대한 설명 중 잘못된 것을 모두 고르라. 답 : ②, ⑤
① a[x+1] 과 같이 변수를 인덱스로 하여 배열을 참조할 수는 없다.
② 배열의 인덱스는 1부터시작한다.
③ 배열을 함수의 매개 변수로 전달하는 경우에 원본이 전달된다.
④ 배열 원소를 함수의 매개 변수로 전달하는 경우에는 복사본이 전달된다.
⑤ 배열은 크기가 커서 지역 변수로 만들 수 없다.
9. 배열에 대한 설명 중 잘못된 것을 모두 고르라 답 : ①, ③
① 4차원 이상의 배열은 불가능하다.
② 배열은 초기화하지 않고 사용하면 오류이다.
③ a[ ] 와 b[ ] 의 전체 원소를 더하려면 a+b 하면 된다.
④ 배열의 원소들의 개수보다 큰 배열 번호를 사용하면 컴파일 오류이다.
10. int a[10]과 같이 선언된 배열을 a[20] 과 같이 경계를 넘어가는 인덱스를 사용하면 어떤 일이 발생하는가? 답 : ③
① 컴파일 오류로 보고된다.
② 링크 단계에서 문제가 발생한다.
③ 컴파일은 되지만 실행이 중지될 수 있다.
④ 아무런 일도 발생하지 않는다.
11. 다음 프로그램의 오류를 전부 수정하여라.
#define MAX_SIZE 3 int main(void) { int a[MAX_SIZE] = { 0, 1, 2, 3 }; int b[3.0]; for(i = 0; i <= MAX_SIZE; i++) b[i] = a[i]; return 0; } |
#define MAX_SIZE 3 int main(void) { int a[MAX_SIZE] = { 0, 1, 2 }; int b[3]; for (int i = 0; i <= MAX_SIZE; i++) b[i] = a[i]; return 0; } |
'Solution > C언어 콘서트' 카테고리의 다른 글
C언어 콘서트 - 제8장: 배열 연습문제 (4/5) (0) | 2018.03.11 |
---|---|
C언어 콘서트 - 제8장: 배열 연습문제 (3/5) (2) | 2018.03.07 |
C언어 콘서트 - 제8장: 배열 연습문제 (1/5) (11) | 2015.01.28 |
C언어 콘서트 - 제7장: 함수 연습문제 (8/8) (0) | 2015.01.25 |
C언어 콘서트 - 제7장: 함수 연습문제 (7/8) (0) | 2015.01.24 |