「if文で星座の判定をしよう」の章ではif文で星座判定のプログラムを作成しましたが、これを関数を使って書き換えてみましょう。
この例にはポインタ、2次元配列、関数、グローバル変数が含まれていますので、理解を深めてください。
では例をみてみましょう。
そうすると
例えばdayに19ではなく23が入っていると仮定すると
ここでday2[i]にはday2の0番目の要素である31が入っていますのでTRUEになり、name には
1周目では
結果、
では
「i + 1」の箇所の説明をしますと例えばmonthが1で、day が23の場合には
そして1月は やぎ座と水瓶座しかなく、やぎ座ではないのならば水瓶座しかないのでnames配列を1つ進めるために
「%12」を記述している理由は例えば
しかし、実際に
そこで「%12」で余りを0(12割る12で余り0)にして「やぎ座」が出るようにしています。
つまり、以下の余りの数字がnames配列の添え字になり、その該当するデータがnameに入ります。
結果は以下の通りです。