計算機科学のブログ

C - 複数のソースファイルの使用 - 分割して構築する - 関数, 定義から宣言を分離する

Head First C ―頭とからだで覚えるCの基本David Griffiths(著)、 Dawn Griffiths(著)、 中田 秀基(監修)、 木下 哲也(翻訳)、 O’Reilly Media)の 4章(複数のソースファイルの使用 - 分割して構築する)、p.177(コンパイラになってみよう)の解答を求めてみる。

コード

main.c

#include <stdio.h>
// 1 o x o
// 2 o o o
// 3 x o x
// 4 o x x
float mercury_day_in_earth_days();
int hours_in_an_earth_day();

int main(int argc, char const *argv[])
{
    float length_of_day = mercury_day_in_earth_days();
    int hours = hours_in_an_earth_day();
    float day = length_of_day * hours;
    printf("水星での1日は%f時間です。\n", day);
}

float mercury_day_in_earth_days()
{
    return 58.65;
}
int hours_in_an_earth_day()
{
    return 24;
}

入出力結果(Terminal, Zsh)

% cc main.c && ./a.out
水星での1日は1407.600098時間です。
%