在线编译器 C

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

- 变量 `sum` 在循环内部被重复声明了两次,这会导致编译错误,因为同一作用域内不能有同名变量。
- `sum` 每次循环都被重置为0,无法累加所有正数。
- `printf` 和 `return 0` 被放在了循环内部,导致程序在第一次循环后就结束,无法处理后续输入。