(!0)
0でないことを判定する

しばらくC言語していないと あれ?っ どうだったかな となるのでメモ

正数を期待したい場合は、きちんと (i

#include <stdio.h>


int main()
{
  long i;
  i= 0;
  printf("i:%2d (!i):%s \r\n", i ,(!i)? "true" : "false");
  i= -1;
  printf("i:%2d (!i):%s \r\n", i ,(!i)? "true" : "false");
  i= 1;
  printf("i:%2d (!i):%s \r\n", i ,(!i)? "true" : "false");
}
/* 実行結果
i: 0 (!i):true
i:-1 (!i):false
i: 1 (!i):false
*/