値が違うことに注意してください。関数の引数はローカル変数として扱われます。回で説明したように、ローカル変数には有効範囲(スコープ)があります。引数の場合、その関数が実行されている間だけ有効です。ローカル変数は関数呼び出しが行われるたびに新しく生成されて、そこに値が代入されます。関数の実行が終了すると、生成されたローカル変数は廃棄されます。名前が同じでも異なる変数になるのです。ここが再帰呼び出しを理解するポイントの一つです。作られていくと考えてください。