柴田望洋先生の新・明解 C++ 入門に以下のコード載っています (51ページ)。
if文と論理和演算子の短絡評価について説明しているページです。
ですが、なぜこのコードで期待する結果が得られるのか分かりません。
1月と2月は冬とされるとなっていますが、以下のコードでは春の判定になってしまいますよね?
C++
1#include <iostream> 2 3using namespace std; 4 5int main() 6{ 7 int month; 8 9 cout << "季節を求めます。\n何月ですか:"; 10 cin >> month; 11 12 if (month < 1 || month > 12) 13 cout << "\aそんな月はありませんよ。 \n"; 14 else if (month <= 5) // 3月・4月・5月 15 cout << "それは春です。 \n"; 16 else if (month <= 8) // 6月・7月・8月 17 cout << "それは夏です。 \n"; 18 else if (month <= 11) // 9月・10月・11月 19 cout << "それは秋です。 \n"; 20 else // 12月・1月・2月 21 cout << "それは冬です。 \n"; 22}
実際にコードを書いて実行しても、やはり1月と2月は春に判定されてしまいます。
ちなみに試した私の環境はWindwos10でg++でコンパイルしてコマンドプロンプトで実行した結果です。
これはテキストの誤記なのか、それとも私の理解が何か間違っているのか、教えて頂けると助かります。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/28 21:25