Онлайн компилятор C

#include <stdio.h> int main() { int a[10]; int sum=0; for(i=0;i<10;i++){ scanf("%d",&a[i]); } for(i=1;i<10;i++){ if(a[i]>0){ sum=sum+a[i]; } } printf("%d",sum); return 0; }
这段代码的目的是读取10个整数,然后计算其中正数的和并输出。代码中有一个明显的错误:变量 `i` 没有被声明就直接使用了。

- 在C语言中,所有变量必须先声明才能使用。你的代码中 `for` 循环使用了 `i`,但前面没有 `int i;` 这样的声明语句。
- 另外,第二个循环从 `i=1` 开始,跳过了数组的第一个元素 `a[0]`。请确认这是你想要的逻辑,还是应该从 `i=0` 开始。