더북(TheBook)

셀프체크

문제 배열의 특정 요소 값을 바꾸는 프로그램을 포인터로 만들어 보세요.

조건

1. square라는 이름의 함수를 정의합니다. 이 함수는 전달값으로 어느 변수의 메모리 주소 1개를 정수형 포인터 변수로 받고, 반환값은 없습니다.

2. 전달값으로 받은 메모리 주소의 값이 홀수이면 그대로 두고, 짝수이면 그 값의 제곱으로 변경합니다. 예를 들어, 주소의 값이 3일 때는 홀수이므로 그대로 두고, 4일 때는 짝수이므로 4의 제곱인 16으로 변경합니다.

3. main()함수에 다음과 같이 정수형 배열을 선언합니다. 이 배열은 크기가 10이고, 1부터 10까지의 정수가 순서대로 저장됩니다.

int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

4. 반복문을 이용해 배열을 순서대로 순회하면서 배열의 각 요소의 주소를 전달값으로 square()함수를 호출합니다.

5. 앞의 작업이 완료되면 새로운 반복문을 이용해 배열을 순서대로 순회하면서 각 요소의 값을 출력합니다.

힌트

1. 변수의 메모리 주소를 알려면 변수명 앞에 &를 붙입니다.

2. 포인터 변수를 선언하거나 포인터 변수가 가리키는 메모리 주소의 값을 변경할 때는 변수명 앞에 *를 붙입니다.

3. 어떤 정수를 2로 나눴을 때의 나머지가 0이면 짝수, 1이면 홀수입니다.

실행결과 icon_con

1, 4, 3, 16, 5, 36, 7, 64, 9, 100

정답확인

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.