括弧の対応
#include <stdio.h> int brackets(char *str) { int bra = 0; for (; *str; str++) { if (*str == '(') { ++bra; } else if (*str == ')') { if (--bra < 0) return 0; } } return !bra; } int main(int argc, char **argv) { puts(brackets(argc > 1? argv[1]: "")? "good": "bad"); return 0; }
% cc brackets.c
% ./a.out
good
% ./a.out "(a)"
good
% ./a.out "()("
bad
% ./a.out ")("
bad
% ./a.out "(()())"
good