質問: (realScore >= 0 && realScore < 65); if (examineeHasPassed) { Console.WriteLine("おめでとうございます。合格です。"); } else if (examineeHasFailed) { Console.WriteLine("残念です。不合格です。"); } else { Console.WriteLine("試験の得点が正しく入力されていません。"); } } } } ```
回答: > > (minScore >= realScore & passingScore >= realScore) > > > 不合格にならなくなってます。 > > 最初の&&で第一オペランドしか評価しないので、 > > 問題中の"ありえない値"も評価対象に入ってしまうため&で良いと考えました。 > > > 「"ありえない値"も評価対象に入ってしまう」というのがよくわかりませんが 今回の場合は短絡した方がどちらかというとよいでしょう。 もちろん前提条件として足きり点が満点以下、下限点以上である事は事前に確認が必要ですが &と&&について 状態変化を含む式をオペランドとして渡さない限りboolの`&`と`&&`は同値になります。