Online Compiler C

#include <stdio.h> int main() { int arr[10]; int res[10]; for (int i = 0; i < 5; i++) { res[i] = arr[4 - i]; } for (int i = 0; i < 5; i++) { res[i + 5] = arr[9 - i]; } for (int i = 0; i < 10; i++) { printf("%d ", res[10]); } return 0; }
这段代码试图将数组 `arr` 中的元素按某种顺序复制到 `res` 中,然后打印 `res` 的内容。但代码存在几个问题。

- 数组 `arr` 没有被初始化,里面的值是未定义的,所以最终打印的结果是随机的垃圾值。
- 在最后的打印循环中,你写的是 `res[10]`,但数组 `res` 的有效索引范围是 0 到 9,访问 `res[10]` 会越界,导致未定义行为。你应该使用循环变量 `i` 来依次访问每个元素。