C语言 第3题求过程
1个回答
展开全部
根据运算符优先级/结合性可知原式等效于
k=( ( (x++>=0)&&!(y--<=0) ) || (z=x+y) )
代入数值可知子表达式x++>=0值为假,且导致x值自增1,x只为0
&&表达式的左操作数值为假,因为&&运算符的短路效应,右侧表达式没有执行,y值未改变,且整个&&表达式的值为假
由于||运算符的左操作数为假,执行右侧表达式,z=x+y,则z值为0+5==5,整个||表达式值为真(1)
所以最终k值为1,x值为0,y值为5,z值为5
k=( ( (x++>=0)&&!(y--<=0) ) || (z=x+y) )
代入数值可知子表达式x++>=0值为假,且导致x值自增1,x只为0
&&表达式的左操作数值为假,因为&&运算符的短路效应,右侧表达式没有执行,y值未改变,且整个&&表达式的值为假
由于||运算符的左操作数为假,执行右侧表达式,z=x+y,则z值为0+5==5,整个||表达式值为真(1)
所以最终k值为1,x值为0,y值为5,z值为5
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询