use*_*688 3 c++ if-statement operators logical-operators
我对IF声明有一个基本的疑问.假设我想将字符串SUN与字符数组(大小为3)匹配.
if(arr[0]!='S' || arr[1]!='U' || arr[2]!='N')
cout << "no";
else
cout<< "yes";
Run Code Online (Sandbox Code Playgroud)
是否在If语句中检查了所有条件,还是在第一次不匹配时返回true?
如果检查了所有条件,检查顺序是从右到左?
根据C++标准
1 &&运算符从左到右分组.操作数都在上下文中转换为bool(第4条).如果两个操作数都为真,则结果为true,否则为false.与&不同,&&保证从左到右的评估:如果第一个操作数为假,则不评估第二个操作数.
和
1 || 操作员组从左到右.操作数都在上下文中转换为bool(第4条).如果其任一操作数为true,则返回true,否则返回false.与|,||不同 保证从左到右的评估; 此外,如果第一个操作数的计算结果为true,则不计算第二个操作数.
| 归档时间: |
|
| 查看次数: |
26582 次 |
| 最近记录: |