执行下面 C++ 代码后,有关说法错误的是( )。
int a, b;
cin >> a >> b;
if (a && b)
cout << "1";
else if (!(a || b))
cout << "2";
else if (a || b)
cout << "3";
else
cout << "4";答案D。if-else语句中else与最近的if配对。花括号可以改变匹配关系。
if(a=b)合法但往往不是本意!它执行赋值后判断b的值是否为0。
【考点】逻辑运算符|条件分支|短路求值
GESP 二级《基本数据类型与运算》模块。命题人盯住的就是学生"看见 if 就背答案"的惰性——不会真代入 0 和 1 验证逻辑,只凭模糊印象选 C 或 D。