在线编译器 C

#include <stdio.h> int main() { int arr[10]; for(int i=0;i<10;i++){ scanf("%d",&arr[i]); arr[i+1]=arr[i]; } printf("Hello, World!\n"); return 0; }
这段代码试图读取10个整数并存入数组,但在循环中做了一些不正确的操作。

- 循环内 `arr[i+1]=arr[i];` 这一行会在每次读取后立即把当前元素复制到下一个位置,这会导致数组内容被覆盖,而且当 i=9 时,`arr[10]` 超出了数组边界,这是未定义行为。
- 代码没有实现任何有意义的处理,只是打印了固定字符串。

- 检查数组索引的范围,确保不会访问越界元素。
- 思考你真正想对数组做什么操作,比如是否要移位、复制或只是存储输入。