Online Compiler C

#include <stdio.h> int main() { int a[10]; int sum=0 for (int d = 0; d < 10; d++) { scanf("%d", &a[d]); } if (a[d] > 0) { sum=sum+a[d]} printf("%d", sum); return 0; }
这段代码试图读取10个整数并计算其中正数的和,但存在语法错误和逻辑问题。

- 第5行 `int sum=0` 后面缺少分号,导致编译错误。
- 第9行的 `if` 语句被放在了 `for` 循环外面,而且 `d` 在循环结束后已经失效,无法访问数组元素。你需要把判断正数的逻辑放在循环内部,在每次读取元素后立即处理。