값교환에 대한 소스인데요.
해긴
2023.04.01
값교환에 대한 소스인데요.for문이 2에 끝나지 않나?질문 내용 : 열혈강의에서 본겁니다. 연습문제 13-1의 문제2인데요.
int arr[5] = {1,2,3,4,5};
int *p = arr;
int i,temp;
for(i=0; i4-i; i++)
{
temp = p[i];
p[i] = p[4-i];
p[4-i] = temp;
}
메인함수의 일부만 갖고왔는데요. 원래 배열arr에 있던값을 순서를 뒤바꾼겁니다.
근데 저 for문이 이해가안갑니다.
i가 처음 0이니 04-0
그 다음에 i++이니까 i = 1; 14-1; 그리고 또 i++
i = 2; 24-2 이렇게되는거아닌가여?;;;;;;;;; 그럼 for문 반복이 끝나는게 아닌가 싶어서용
-
엘핀
중간까지만 바꾸면 됩니다...
12345
54321
3을 기준으로 앞뒤 2개만 바꾸면 뒤집어 지잖아요
그렇기 때문에 중간까지만 하는겁니다.