u16suzuの blog

日々学んだことのメモブログです。

かっこいいフラグ切り替えの書き方

勉強をしようと思って、JavaScriptの本を読んでいたら、true,falseの変更のかっこいい書き方があったんです。コレ↓

 flag = !flag;

1行でかける所が、かっこいい!
!の使い方が、かっこいい!


つまりは、こういう書き方と同じですね。

 if(flag==true) flag=false;
 else flag=true;

cだとこんな感じ。

#include <stdio.h>

int main(){


  int i=1;
  
  printf("i: %d\n", i );
  i=!i;
  printf("!i: %d\n", i );
  i=!i;
  printf("!!i: %d\n", i );

  return 0;
}

実行結果

C:\Documents and Settings\u16\workc>bcc32 equs.c & equs.exe
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
equs.c:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
i: 1
!i: 0
!!i: 1

エレガントですね〜
読んでいたのは超初心者用の本なので、ビックリしました><;

それでは〜