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

チキチキバグを見つけよう選手権

#define FLAG_A  0x01
#define FLAG_B  0x02
#define FLAG_C  0x04

#define FLAGGROUP_X  (100 | FLAG_A | FLAG_B | FLAG_C )
#define FLAGGROUP_Y  (100 | FLAG_A | FLAG_B )

int main(int args, char ** argv){
  int flag = 0; // 
  flag = atoi(argv[1]);  //flag is FLAGGROUP_X or FLAGGROUP_Y
  if( flag & FLAG_C ){
    puts("flags is X!");
  }else{
    puts("flags is Y!");
  }
}

いやまあ自分が引っかかったというか自分で書いてハマってたんですけどね。