K&Rを通してプログラミングを学んでいます。ここまでは順調ですが、セクション 1.8 (関数) のコード行の役割については不明です。
セクション 1.8 で、著者はある整数を別の整数で累乗する関数を作成する方法を示します。
本に書かれていたので、以下にコードを貼り付けました。すべて正常に出力されます。しかし、なぜ彼らがこの行を一番上に含めたのかわかりません:
int power(int m, int n);
この本では、プログラムが整数 m を n 乗すると述べていることを除けば、それについては触れていません。コードから行を削除しても、プログラムは正常に出力されます。
これを正しく理解していれば、行
int power(int base, int n)
関数を作成し、その下の中括弧で関数を定義します。次に、main の下の中かっこが関数を呼び出してチャートを出力します。
だから、それはすべて理にかなっているようです。しかし、一番上の行が何をするのかわかりません。
無関係かもしれませんが、何かが欠けている可能性がはるかに高いようです。なぜその行があるのか、誰かが私に教えてくれますか?
#include <stdio.h>
int power(int m, int n);
/* test power function */
main()
{
int i;
for (i = 0; i < 10; ++i)
printf("%d %d %d\n", i, power(2,i), power(-3, i));
return 0;
}
/* power: raise base to n-th power; n >= 0 */
int power(int base, int n)
{
int i, p;
p = 1;
for (i = 1; i <= n; ++i)
p = p * base;
return p;
}