for (i = 0; i < len / 2; i++) {
temp = voca[i];
voca[i] = voca[(len - i) - 1];
voca[(len - i) - 1] = temp;
}
배열의 단어를 역순으로 출력하는 예제에 있는 반복문인데요.
저기서 왜 len을 2로 나누는거에요??
for (i = 0; i < len / 2; i++) {
temp = voca[i];
voca[i] = voca[(len - i) - 1];
voca[(len - i) - 1] = temp;
}
배열의 단어를 역순으로 출력하는 예제에 있는 반복문인데요.
저기서 왜 len을 2로 나누는거에요??
배열의 단어를 역순으로 출력을 하는데 그 방법이 단순히 뒤에서부터 하나하나 출력하는게 아니라 대칭되는 앞과 뒤의 배열의 위치를 바꿔주고 있음
예를들자면 5 4 3 2 1 이라면 처음에 5와 1의 위치를 바꿔서 1 4 3 2 5가 되고 마찬가지로 그다음은 4와 2의 위치가 바뀌는식임
이런식이면 절반만 돌면 배열은 역순이 되는거고 전부 돌면 다시 정순으로 돌아오는거
ㄴ 아 반만 돌아야 역순이 되기때문에 / 2를 해주는거군요. 감사합니다!!