C语言计算表达式的值10*2%3-2?5:6%3?7:8和10 != 8+7 || 2<5 && 7/4 > 6/4
2个回答
展开全部
10*2%3-2?5:6%3?7:8
这个从右向左计算,相当于
10*2%3-2?5:(6%3?7:8)
10*2%3-2?5:(0?7:8)
10*2%3-2?5:8
20%3-2?5:8
2-2?5:8
0?5:8
8
10 != 8+7 || 2<5 && 7/4 > 6/4
相当于
( 10 != ( 8+7 ) ) || ( ( 2<5 ) && ( 7/4 > 6/4 ) )
括号中先算,根据逻辑或运算的规定,如果左边的逻辑值是1,右边的就不计算了。
左边的 10 != ( 8+7 ) 也就是10!=15,是成立的,逻辑值是1,所以 || 右边的与运算就不进行了,整个表达式的值就是1
这个从右向左计算,相当于
10*2%3-2?5:(6%3?7:8)
10*2%3-2?5:(0?7:8)
10*2%3-2?5:8
20%3-2?5:8
2-2?5:8
0?5:8
8
10 != 8+7 || 2<5 && 7/4 > 6/4
相当于
( 10 != ( 8+7 ) ) || ( ( 2<5 ) && ( 7/4 > 6/4 ) )
括号中先算,根据逻辑或运算的规定,如果左边的逻辑值是1,右边的就不计算了。
左边的 10 != ( 8+7 ) 也就是10!=15,是成立的,逻辑值是1,所以 || 右边的与运算就不进行了,整个表达式的值就是1
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询