设x,y,z,s均为int型变量,且初值为1,则执行语句?
3个回答
展开全部
由运算符优先级可知,原式等效于
s=(++x||(++y&&++z))由||运算符的短路效应可知,子表达式++x的值为非零,即为真,所以||右侧的子表达式不会执行,即只有x自增了1,y和z值不变,且子表达式(++x||(++y&&++z))值为真,即1
所以可知x值为2;s值为1;y和z值不变,仍为1
s=(++x||(++y&&++z))由||运算符的短路效应可知,子表达式++x的值为非零,即为真,所以||右侧的子表达式不会执行,即只有x自增了1,y和z值不变,且子表达式(++x||(++y&&++z))值为真,即1
所以可知x值为2;s值为1;y和z值不变,仍为1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
根据运算符的优先级,"++">"&&">"||“,所以原式可以变为
s=( (++x) || ( (++y) && (++z) ) )
=( 2 || (2&&2) )
=2 || 1
=1
所以s为1,x为2。
s=( (++x) || ( (++y) && (++z) ) )
=( 2 || (2&&2) )
=2 || 1
=1
所以s为1,x为2。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询