下面 C++ 代码执行后的输出是( )。
int m = 14;
int n = 12;
if (m % 2 && n % 2)
cout << "都是偶数";
else if (m % 2 == 1 && n % 2 == 1)
cout << "都是奇数";
else
cout << "不都是偶数或奇数";
- A. 都是偶数
- B. 都是奇数
- C. 不都是偶数或奇数
- D. 以上说法都不正确
正确答案:C
int m = 14;
int n = 12;
if (m % 2 && n % 2)
cout << "都是偶数";
else if (m % 2 == 1 && n % 2 == 1)
cout << "都是奇数";
else
cout << "不都是偶数或奇数";
正确答案:C
m%2=0(14 偶)为假,首个 if 不成立(顺带:m%2 && n%2 判的其实是「都是奇数」,与打印文字自相矛盾);else if 也不满足,走 else 输出「不都是偶数或奇数」,选 C。 💡 if(m%2) 等价 if(m%2!=0),即 m 为奇数时成立。别被打印文字误导。想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?
进入 GESPPASS 开始练习