• ベストアンサー

#if~#end ifについて

#if~#end ifについて 下記文中にて、aが0以外の時に処理1をコンパイルするでよろしいでしょうか? それとも数値関係なしにaがdefineされている時に処理1をコンパイルするでしょうか? ご教授下さい。 よろしくお願い致します。 #define a 0 #if a 処理1 #end if

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

  • ベストアンサー
  • aurumnet
  • ベストアンサー率43% (51/117)
回答No.3

C言語の場合、0でFALSE、0以外でTRUEなので Cの場合aが0以外の時に処理1をコンパイルするであってます (言語、コンパイラによりTRUE,FALSEの定義が違う場合がある) #ifdef~#ifndefの場合が定義がされているかどうかでコンパイルするかどうかがきまります 参考URL http://www.geocities.jp/ky_webid/c/052.html

ron_nast
質問者

お礼

ご回答ありがとうございます。 参考にさせて頂きます。

その他の回答 (2)

  • asuncion
  • ベストアンサー率33% (2127/6290)
回答No.2

>下記文中にて、aが0以外の時に処理1をコンパイルするでよろしいでしょうか? そのとおりです。 ていうか、私だったら、まず実験してみますけどね。

ron_nast
質問者

お礼

ご回答ありがとうございます。 参考にさせて頂きます。

  • byDesign
  • ベストアンサー率75% (45/60)
回答No.1

コンパイルされません。 #ifと#ifdefがごっちゃになっていませんか? #ifは真偽、#ifdefは定義の有無でコンパイルするか決まります。

関連するQ&A