假定某个实现数组元素倒置的函数reverse_array调用了上题中给出的xor_swap函数:
1 void reverse_array(int a[],int len)
2 {
3 int left,ringt=len-1;
4 for(left=0;left<=right;left++,right--)
5 xor_swap(&a[left],&a[right]);
6 }
当len为偶数时,reverse_array函数的执行没有问题。但是,当len为奇数时,函数的执行结果不正确。请问,当len为奇数时会出现什么问题?最后一次循环中的left和right各取什么值?最后一次循环中调用xor_swap函数后的返回值是什么?对reverse_array函数做怎样的改动就可以消除该问题?