포인터와 배열에서 배열요소 순서바꾸기 ㅜ
큰돌찬
길이가 6인 int형 배열 arr을 선언하고 이를 1,2,3,4,5,6 으로 초기화한다음, 배열에 저장된 값의 순서가
6,5,4,3,2,1 이 되도록 변경하는 예제를 작성하라.
단, 배열의 앞과뒤를 가리키는 포인터변수 두개를 선언해서 이를 활용하여 저장된값의 순서를 뒤바꾸어라.질문 내용 :
#include stdio.h
int main (void)
{
int arr[6] = {1,2,3,4,5,6}; // int형 배열 arr선언
int * ptr1=&arr[0]; // int형 포인터변수 ptr1이 배열의 첫번째 요소를 가리킴
int * ptr2=&arr[5]; // int형 포인터변수 ptr2가 배열의 마지막 요소를 가리킴
printf(%d %d %d %d %d %d \n, arr[0] , arr[1], arr[2], arr[3], arr[4], arr[5]);
printf(%d , *ptr2); ptr2--;
printf(%d , *ptr2); ptr2--;
printf(%d ,*ptr2); ptr2--;
printf(%d ,*ptr2); ptr2--;
printf(%d ,*ptr2); ptr2--;
printf(%d \n ,*ptr2); ptr2--;
printf(%d %d %d %d %d %d \n, arr[0] , arr[1], arr[2], arr[3], arr[4], arr[5]);
return 0;
}이렇게 하니까 순서가 바뀌어서 출력은 되긴되는데 마지막 printf함수 호출문에서 처럼 마지막으로 출력을
확인해봤을때 순서가 바뀌어서 나와야 하는데 그대로네요 ㅠㅠㅠ
-
소윤
arr은 전달하지 않아도 되겠네요