设x,y,z,t均为int型变量,则执行以下语句后,t的值为? x=y=z=1; t=++x || ++y&&++z;
设x,y,z,t均为int型变量,则执行以下语句后,t的值为?x=y=z=1;t=++x||++y&&++z;请把步骤写清楚点,谢谢!...
设x,y,z,t均为int型变量,则执行以下语句后,t的值为?
x=y=z=1;
t=++x || ++y&&++z;
请把步骤写清楚点,谢谢! 展开
x=y=z=1;
t=++x || ++y&&++z;
请把步骤写清楚点,谢谢! 展开
7个回答
展开全部
x=2;y和Z的值不变;
逻辑运算++x的值为1,因此后面的语句没有执行;
参考:
短路求值
作为"&&"和"||"操作符的操作数表达式,这些表达式在进行求值时,只要最终的结果已经可以确定是真或假,求值过程便告终止,这称之为短路求值。这是这两个操作符的一个重要属性。假如expr1和expr2都是表达式,并且expr1的值为0,在下面这个逻辑表达式的求值过程中:
expr1 && expr2
expr2将不会进行求值,因为整个逻辑表达式的值已经可以确定为0。 类似地,如果expr1的值不是0,那么在下面的这个逻辑表达式的求值过程中:
expr1 || expr2
expr2将不会进行求值,因为整个逻辑表达式的值已经确定为1。
逻辑运算++x的值为1,因此后面的语句没有执行;
参考:
短路求值
作为"&&"和"||"操作符的操作数表达式,这些表达式在进行求值时,只要最终的结果已经可以确定是真或假,求值过程便告终止,这称之为短路求值。这是这两个操作符的一个重要属性。假如expr1和expr2都是表达式,并且expr1的值为0,在下面这个逻辑表达式的求值过程中:
expr1 && expr2
expr2将不会进行求值,因为整个逻辑表达式的值已经可以确定为0。 类似地,如果expr1的值不是0,那么在下面的这个逻辑表达式的求值过程中:
expr1 || expr2
expr2将不会进行求值,因为整个逻辑表达式的值已经确定为1。
展开全部
因为x=y=z=1
所以t=2 ||2 && 2
2 && 2=1
2 || 1=1
t=1
所以t=2 ||2 && 2
2 && 2=1
2 || 1=1
t=1
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是运算符的级别的问题,一般只有考试中出现,
建议你还是去看看书,一分析就知道了,
授人以鱼不如授人以渔;
希望采纳!
建议你还是去看看书,一分析就知道了,
授人以鱼不如授人以渔;
希望采纳!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个t表达的结果只有0或者1两种可能。++x和++y均为真(非0),++z为真(非0),表达式值为真。貌似你问t =++x|++y&++z需要算一下!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
t=2或者没有值,把&&换为&就有值,为2,不知道对不对
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询