• ベストアンサー

#if 1 #elseの意味について

#if 1  文  #else   文 #endif という表記に関して、「#if 1」が「必ず有効」という事はわかるのですが、ここでの「#else」とは「1」でない時ということで、「#if 0」と同じ意味と考えていいのでしょうか?

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

  • ベストアンサー
回答No.2

>「#if 0」と同じ意味 「#if~#endif」がすこーぷの範囲ですから、似ていますが、正確には違います。 「#if 1」であれば、「#if 1~#else」の間の処理が有効、「#else~#endif」が無効、 「#if 0」であれば、「#else~#endif」の間の処理が有効、「#if 0~#else」が無効 と排他になります。

keaton35
質問者

お礼

ご回答ありがとうございます。 おそらくデバックの時にやりやすい様に、こういった表現にしたんですね。

その他の回答 (2)

  • zuihen
  • ベストアンサー率36% (4/11)
回答No.3

ひょっとして if (1) 文 else 文 endif ですか? そうなるとelse文は常に実行されませんよね。 ですからif (0)と全く同等です。 むしろelse文は無意味ということに……

keaton35
質問者

お礼

ご回答ありがとうございます。 やはり1のelseは0ですよね。

  • zuihen
  • ベストアンサー率36% (4/11)
回答No.1

評価すべき対象が1,0の2値しか取らないのであれば、 私の知っている範囲の言語では同値だと思います。

関連するQ&A