关于for循环和函数调用

定义一个函数,函数内容是把一个具有偶数长度的数组里的成员头脚颠倒过来,比如4个长度的数组,arr[0]=arr[3],但输出就是1234,求解,信手勿喷

img

初始化的数组为[1,2,3,4],调用函数进行翻转后,数组的内容为[4,3,2,1]。然后在main函数中使用循环输出翻转后的数组,因此输出的顺序为1234。

如果想要改变输出顺序,可以在循环中使用倒序遍历数组,即从数组末尾向前遍历。可以将循环变量i的初始值设为数组长度-1,每次循环时减1,直到遍历完整个数组。

for(int i = len-1; i >= 0; i--) {
printf("%4d", arr[i]);
}

这样输出的顺序就会变为4321。
望采纳。

错误原因很明显,你的 len 都没有初值

img