设x,y,z均为int型变量,则执行语句:x=y=z=3;t=++x||++y后,y的值为多少 要求分析,谢谢

哲学香1796
2012-03-16 · TA获得超过5.5万个赞
知道小有建树答主
回答量:2.4万
采纳率:0%
帮助的人:3304万
展开全部
x=y=3;
t=++x||++y;
所以3
因为第一句y=3,第二句t=++x,则t=4为真,因为“||或”运算符只要前面为真,整体就为真,所以它不会再去执行++y语句,所以y还是等于3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
marilynbkun
2011-11-22 · TA获得超过756个赞
知道小有建树答主
回答量:328
采纳率:0%
帮助的人:237万
展开全部
逻辑表达式求解不一定对逻辑运算符两遍表达式都求解。
t = ++x || ++y
^
x = 4非0,为真
由于是逻辑或,一个为真则都为真,所以++y不执行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ycsxm
2011-11-22 · TA获得超过3.3万个赞
知道大有可为答主
回答量:1.4万
采纳率:0%
帮助的人:7819万
展开全部
x=y=z=3;t=++x||++y
结果1
++x 为4,非0为真
++y 为4,非0为真
||就是逻辑或,真||真仍为真,所以t 为1
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
myhz1988
2011-11-23 · TA获得超过3260个赞
知道小有建树答主
回答量:316
采纳率:100%
帮助的人:119万
展开全部
y的值为3
解释:自增运算符(++)高于逻辑运算符(||),逻辑运算符(||)高于赋值运算符(=),所以先求++x值,为4,即真,这时||的值肯定为真,就不会执行++y,因为在c语言中,用&&对两个表达式进行计算时,若第一个表达式的值为"假",则运算结果与第二个表达式的值无关,结果肯定为"假",所以C语言规定此时第二个表达式将不再计算。同样用||对两个表达式进行计算时,若第一个表达式的值为"真",则运算结果与第二个表达式的值无关,结果肯定为"真",所以C语言规定此时第二个表达式也不再计算。而逻辑运算符计算结果为“真”和“假",用0和1表示,所以++x||++y逻辑表达式的值为真,即1,因此:t=1,y的值不变(没有执行++y)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式