逻辑运算符

C++语言运算

逻辑运算符

int a=1,b=2,m=0,n=0,k;
k=(n=b>a)||(m=a);
依次输出k,m,n的值分别为1,0,1

为什么结果中m的值是0呢?

这是因为k=(n=b>a)||(m=a)执行时,首先计算“||”左侧表达式括号里面的b>a,b>a的结果为真(1),然后n=1。因为“||”运算符的左边为1,则C++将非0作为真,整个表达式(n=b>a)||(m=a)必然为真,不用执行“||”运算符右侧表达式m=a,这个也就是所谓的短路现象。同样,在逻辑与运算中,若左侧表达式值为假(0),则右侧表达式也会被“短路”。

阅读更多
文章标签: C+++
个人分类: 笔记
下一篇java应用程序
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭