私はhttp://www0.us.ioccc.org/1988/westley.cでプログラムを見ていましたが、別のSOの回答で言及されています-piの値、約3.142を出力することになっていますが、コンパイルして実行するとそれは私が得る0.250
。GCCプリプロセッサ(4.1.2と3.4.6の両方がテスト済み)がコードで実行されると、変換されるように見えます
#define _ -F<00||--F-OO--;
_-_-_
に
-F<00||--F-OO--;- -F<00||--F-OO--;- -F<00||--F-OO--;
しかし、私は、プログラムが機能するためには、
-F<00||--F-OO--;--F<00||--F-OO--;--F<00||--F-OO--;
つまり、GCCは「マクロ」拡張の前に余分なスペースを挿入しています。それはその方法#define
が機能することになっていますか?(1988年から変わっていますか?)
編集:また、それらのスペースが表示されないようにする方法についての情報をいただければ幸いです。