開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの無料、light版)
- 言語: C
- コンパイラ: UNIX ccコンパイラ (汎用UNIX)
『実践プログラミング 第3版』 (Steve Oualline (著)、 望月 康司 (監修) (翻訳)、 谷口 功 (翻訳)、 オライリー・ジャパン、1998年、ISBN978-4900900646) の10章(Cプリプロセッサ)10.4(マクロ名と括弧)設問10-7を解いてみる。
設問10-7.
#define文でRECIPROCALと(number)の間にスペースがあるのでCの構文のRECIPROCALに(number) (1.0 / (number)が代入されることになって変数numberが未定義であると警告が生じる。
修正。
コード(TextWrangler)
#include <stdio.h> #define RECIPROCAL(number) (1.0 / (number)) int main(){ float counter; for ( counter = 1.0; counter < 10.0; counter += 1.0){ printf("1/%f = %f\n", counter, RECIPROCAL(counter)); } return (0); }
入出力結果(Terminal)
$ cc -g -o sample sample.c $ ./sample 1/1.000000 = 1.000000 1/2.000000 = 0.500000 1/3.000000 = 0.333333 1/4.000000 = 0.250000 1/5.000000 = 0.200000 1/6.000000 = 0.166667 1/7.000000 = 0.142857 1/8.000000 = 0.125000 1/9.000000 = 0.111111 $
0 コメント:
コメントを投稿