注册 登录
编程论坛 C++教室

关于操作符或(|| )

handongxue 发布于 2008-04-11 22:27, 627 次点击
#include <iostream>

int main()
{
    int t=4;

    while( 5/4 || (t=3/10) )
    {
        std::cout<<"t=="<<t<<std::endl;
        break;
    }

}

//输出结果:t==4
//         请按任意键继续. . .
//为什么t=3/10 无效?
//表达式 5/4 || (t=3/10) 中操作符的优先级顺序应该是 (),/, ||, = 啊?
3 回复
#2
lucky_boy2008-04-11 22:33
这是||(或)运算符的特性:
当左操作数为真是,就跳过有操作数,直接执行下面代码
因为只要有一个操作数为真,或表达式就为真
#3
野比2008-04-12 03:35
Bingo!
lucky_boy 很正确。
类似的还有 && 运算符若左操作数为假(0)则整个表达式为假,略过右操作数
#4
handongxue2008-04-12 14:31
十分感谢
谢谢大家,知道了。
1