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

#include <stdio.h> int main(){ int n,v,sum=0; scanf("%d,&n"); for (int i=0;i<n;i++){ scanf("%d",&v); if(v>0){ sum+=v; } } printf("%d\n",sum); return 0; }
这段代码的目的是从输入中读取一个整数 n,然后读取 n 个整数,并计算其中所有正数的和,最后输出这个和。

代码中存在一个明显的语法错误:在第一个 scanf 中,格式字符串里的引号位置不对,导致 n 无法正确读取。

- 检查第一个 scanf 的格式字符串:`"%d,&n"` 中的引号位置错误,应该将 `&n` 放在引号外面,并且去掉逗号,正确的写法是 `"%d", &n`。
- 另外,变量 v 和 sum 的声明可以放在循环外部,但当前写法不影响功能,只是风格问题。