c语言中 x||y+z&&y-z 一步一步的写出了,

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/08 00:52:22
c语言中x||y+z&&y-z一步一步的写出了,c语言中x||y+z&&y-z一步一步的写出了,c语言中x||y+z&&y-z一步一步的写出了,这个表达式先等价于x||((y+z)&&(y-z)),因

c语言中 x||y+z&&y-z 一步一步的写出了,
c语言中 x||y+z&&y-z 一步一步的写出了,

c语言中 x||y+z&&y-z 一步一步的写出了,
这个表达式先等价于x||((y+z)&&(y-z)),因为算术优先级高于逻辑优先级,而逻辑与的优先级又高于逻辑或的优先级.由于逻辑预算的左路求值(不懂百度)法则,此表达式会先执行x,若x为真,表达式执行结束.若x为假,再执行表达式(y+z)&&(y-z).同样,根据逻辑与的左路求值法则,先执行y+z,若假,表达式执行结束,若为真,则在执行y-z,然后执行逻辑与,最后执行逻辑或.至此,表达式执行完毕.
由上所述,请问,程序段 x = 0;y = 10;++x || y++; 执行完毕后x,y的值各为多少?

先算出y+z然后再运算y-z。到x| | y+ z判断是否等于0,然后(x| |x+y )&&(y-z),判断是否等于0

“&&”优先级高于“||” 所以先看【(y+z)&&(y-z)】再看x ||【】