Online Compiler C

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

- 变量n在使用前没有被定义或赋值,导致数组大小未知,循环也无法正确执行。
- 数组索引从0开始,但循环从i=1开始,会跳过第一个元素并访问越界位置。
- 没有检查scanf的返回值,输入可能失败。