2013年11月6日水曜日

開発環境

C実践プログラミング 第3版 (Steve Oualline (著)、 望月 康司 (監訳) (翻訳)、谷口 功 (翻訳)、オライリー・ジャパン)のⅡ部(単純なプログラミング)の10章(Cプリプロセッサ)、10.2(条件付きコンパイル)、10.3(インクルードファイル)、10.4(パラメータをとるマクロ)、設問 10-7を解いてみる。

その他参考書籍

設問 10-7.

#define文のRECIPROCALと(number)の間にスペースがあり、numberがパラメータにならないから。

修正(スペースを削除)。

コード

sample.c

#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);
}

makefile

CC=cc
CFLAGS=-g

sample: sample.c
 $(CC) $(CFLAGS) -o sample sample.c

clean:
 rm -f sample

入出力結果(Terminal)

$ make
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 コメント:

コメントを投稿