さっそくだが、読み始めて20分、 p.25のsection 1.7にあるプログラムの
例がおかしいのではないかと気づく。

/ * 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;
}
ライブラリ関数pow()と同じ機能の関数powerを作ろうとしているの
だそうだが、n = 0(baseのn乗を計算する)とき、forループは
必ず一回実行されるから、p = 1 * baseとなり、base = 1以外の
ときは間違い。なぜなら、任意の数の0乗は必ず1となるから。