Online Compiler C

#include <stdio.h> int main() { int arr[n]; int sum=0; for(int i=0;i<=n;i++){ scanf("%d",&arr[i]); if(arr[i]>0){ sum+=arr[i]; } } printf("%d",sum); return 0; }
这段代码试图计算用户输入的一系列整数中正数的和,但存在几个问题。

- 变量 `n` 没有被定义或赋值,所以数组大小未知,循环也无法正确执行。
- 循环条件 `i<=n` 会导致数组越界,因为数组索引从0到n-1,访问 `arr[n]` 是无效的。
- 数组长度在编译时必须已知,而这里 `n` 未定义,代码无法通过编译。