
已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1&&y+z/2的值是1,为什么
展开全部
你这个是c语言吧。你可以看看布尔值其他类型的转换规则。
表达式!(x+y)+z-1&&y+z/2的值只可能是0和1,也就是假和真。这里是表达式条件满足,所以是1。
!(x+y)+z-1和y+z/2分别判断是0还是1,然后再进行逻辑与&&运算。C语言当中,整数转布尔值的时候是非0转1,0转0吧。按这个规则来的。
表达式!(x+y)+z-1&&y+z/2的值只可能是0和1,也就是假和真。这里是表达式条件满足,所以是1。
!(x+y)+z-1和y+z/2分别判断是0还是1,然后再进行逻辑与&&运算。C语言当中,整数转布尔值的时候是非0转1,0转0吧。按这个规则来的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询