在线编译器 C

#include <stdio.h> //( =40 )=41 .=46 int is_correct_brackets(char s[]) { int a = 0; while (s[i] != '.') { if (s[i] == '(') a = a + 1; else if (s[i] == ')') a = a - 1; if (a < 0) return 0; i++; } if (a == 0) return 1; else return 0; } int main() { printf("%c", is_correct_brackets(asd); return 0; }
这段代码试图检查一个字符串中的括号是否匹配,但存在多个错误。

- 变量 `i` 没有声明就使用了,需要在函数开头声明 `int i = 0;`。
- 主函数中调用 `is_correct_brackets(asd)` 时,`asd` 没有定义,应该传入一个具体的字符串,比如 `"()"` 或一个字符数组。
- `printf` 的格式控制符 `%c` 用于输出字符,但函数返回的是整数(0或1),应该用 `%d`。