• ベストアンサー

条件式 ! char[0] とは

こんにちは。 char test[1]; if (! test[0]){ } この条件式 !test[0]の意味が分かりません。 test[0]がどういう状況のとき(どういう値が入っているとき)に 真、または偽になるのでしょうか? お分かりになる方よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.3

わかりにくいので、こういう書き方は、良くないプログラムです。   !式 は、   !((式)!=0) と同じ意味です。 結局   (式)==0 と同じです。つまり、このif文は   if(char[0]=='\0') という意味ですね。

coralieclement
質問者

お礼

御回答どうもありがとうございました(^^)

その他の回答 (2)

回答No.2

最後の部分間違えました。 真:test[0]==0 偽:test[0]!=0 です。

回答No.1

ifなどで判定する時に、「0を偽、0以外を真」として判断しています。 http://homepage3.nifty.com/mmgames/c_guide/07-01.html つまり、if(a!=0)と書いてあったときはif(a)と書いても同じことになります。 また、if(!a)の!はNOTです。つまり「0を真、0以外を偽」とする事になります。 http://homepage3.nifty.com/mmgames/c_guide/07-02.html なので、今回の場合 真:test[0]=0 偽:test[0]!=1 となります。

coralieclement
質問者

お礼

ご回答どうもありがとうございました(^^)

関連するQ&A

専門家に質問してみよう