关于c++逻辑运算的一个问题
展开全部
结果为一~因为++i,--j是参与运算后才自增、自减的。而且与逻辑比或逻辑优先级高~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
逻辑运算,只有两种值
True(真)
Flase(假),
同时在数值表达上真用1表示,假用0表示,即非假即真,非0即1,(比如2,3……)都是真
你的题目:
初始值:int
i=0,
j=1,k=2
逻辑表达式:++i
||
--j&&++k
由于所有自增和自减运算++i
、--j、++k都是前缀都必须先自增或自减之后再参与逻辑运算,
所以,等同于
1
||
0
&&
3
在这里的时候,要考虑到运算符优先级,在同等条件下的逻辑运算符中
&&(与)的优先级比||(或)高,必须先算,所以运算实际是
1
||
(0
&&
3)
由于最后计算的是
||
(或),而且其中在||已经有一个1(真)了,不管后面括号里是真是假,结果总为真,所以,最后的结果是
真(Ture)
True(真)
Flase(假),
同时在数值表达上真用1表示,假用0表示,即非假即真,非0即1,(比如2,3……)都是真
你的题目:
初始值:int
i=0,
j=1,k=2
逻辑表达式:++i
||
--j&&++k
由于所有自增和自减运算++i
、--j、++k都是前缀都必须先自增或自减之后再参与逻辑运算,
所以,等同于
1
||
0
&&
3
在这里的时候,要考虑到运算符优先级,在同等条件下的逻辑运算符中
&&(与)的优先级比||(或)高,必须先算,所以运算实际是
1
||
(0
&&
3)
由于最后计算的是
||
(或),而且其中在||已经有一个1(真)了,不管后面括号里是真是假,结果总为真,所以,最后的结果是
真(Ture)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询