我对 IF 语句有一个基本疑问。
假设我想将字符串 SUN 与字符数组(大小 3)匹配。
if(arr[0]!='S' || arr[1]!='U' || arr[2]!='N')
cout << "no";
else
cout<< "yes";
是否在 If 语句中检查了所有条件,还是在第一次不匹配时返回 true?
如果所有条件都检查了,检查的顺序是从右到左吗?
根据C++标准
1 && 运算符从左到右分组。操作数都是
根据上下文转换为 bool(第 4 条)。如果两者都成立,则结果为 true
否则操作数为真或假。与 &, && 保证不同
从左到右评估:如果第二个操作数不被计算
第一个操作数为假。
and
1 ||运算符组从左到右。操作数都是
根据上下文转换为 bool(第 4 条)。如果满足以下任一条件,则返回 true
其操作数的值为真,否则为假。与|、||不同保证
从左到右评估;而且,第二个操作数不是
如果第一个操作数的计算结果为 true,则计算该值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)