Online Compiler C

#include <stdio.h> int main() { const int n = 5; int arr[n]; int min; for (int i = 0; i <= n; i++) { scanf("%d", &arr[i]); } min = arr[0]; for (i = 1; i <= n; i++) { if (arr[i] < min) { min = arr[i]; } } printf("%d", min); }
这段代码试图读取5个整数并找出最小值,但存在几个问题。

- 循环条件 `i <= n` 会导致数组越界,因为数组索引从0到n-1,当i等于n时访问了不存在的元素。
- 第二个for循环中变量 `i` 没有声明类型,在C语言中需要写 `int i`。