!(x+y)+z-1&&y+z/2这是个逻辑表达示,值只能是0(代表假)或1(代表真)而!(x+y)+z-1的结果是大于0的,c中规定所有非0的数都代表真再y+z/2也大于0,即代表真,真&&真还是真,即用1表是你可以试下如果在&&两边的只要不是0,得到的值都是1
这个表达式可以加个括号,等价与(!(x+y)+z-1)&&(y+z/2)这样就清晰了!很明显左右两个表达式的值都为非零。在逻辑运算中非零则为真!两边的值为真所以整个表达式的值为真,即结果为1.