読者です 読者をやめる 読者になる 読者になる

素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: すかいぷ:javascripter_  か javascripter あっと tsukkun.net skypeのほうがいいです

括弧の対応

#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