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

#include <stdio.h> int main() { int is_correct_brackets(char s[]) { int balance = 0; for (int i = 0; s[i] != '.' && s[i] != '\0'; i++) { if (s[i] == '(') { balance++; } else if (s[i] == ')') { balance--; } if (balance < 0) { return 0; } } if (balance == 0) { return 1; } else { return 0; } }
这段代码定义了一个函数 `is_correct_brackets`,用于检查字符串中括号是否匹配。它遍历字符串直到遇到点号或字符串结束,用 `balance` 变量记录左括号和右括号的差值,如果某时刻 `balance` 变为负数(即右括号多于左括号)则返回0,最后检查 `balance` 是否为0来判断是否完全匹配。

- 函数定义放在了 `main` 函数内部,这在C语言中是不允许的。你需要将函数定义移到 `main` 函数外面。
- 代码中缺少 `main` 函数的实际执行部分,比如调用 `is_correct_brackets` 并输出结果。你需要补充 `main` 函数体来测试这个函数。