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

#include <stdio.h> int main() { int N; scanf("%d",&N); int num[N]; for(int i = 0;i < N;i ++) {scanf("%d",&num[i]);} int sum = 0; for(int i = 0;i < N;i++) { sum = sum + num[i]; } printf("%d",sum); return 0; }
这段代码的功能是:先读入一个整数 N,然后读入 N 个整数,计算它们的总和并输出。

- 你的代码在声明 `int num[N];` 时使用了变量长度数组,这在某些 C 编译器(如 MSVC)中不被支持。如果作业要求严格遵循 C89/C90 标准,可以考虑改用固定大小数组或动态内存分配。
- 另外,没有检查 `scanf` 的返回值,如果输入格式不正确,程序可能产生未定义行为。建议检查 `scanf` 是否成功读入了预期数量的数据。