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

#include <stdio.h> int count_bigger_abs(int n, int a[]) { int i; int sum1 = 0; int cnt = 0 for (i = 0; i < n; i++) { if (a[i] > max) { max = a[i]; } } for (i = 0; i < n; i++) { if (abs(a[i]) > max) { cnt++; } } return cnt; }
这段代码试图统计数组中绝对值大于最大值的元素个数,但存在语法错误和逻辑问题。

- 第5行 `int cnt = 0 for (i = 0; ...` 缺少分号,导致语法错误。C语言中每个语句结束后需要加分号。
- 变量 `max` 没有声明和初始化就直接使用,会导致未定义行为。你需要先声明 `max` 并给它一个初始值,比如数组的第一个元素。