C语言 求表达式的值

设x,y,z,t均为整型变量,则执行以下语句后,t的值为:(1)x=y=z=1;t=x++||++y&&++z;不懂啊,谁来解释一下啊。。。。谢谢。。。。... 设x,y,z,t均为整型变量,则执行以下语句后,t的值为:(1)
x=y=z=1;
t=x++||++y&&++z;

不懂啊,谁来解释一下啊。。。。谢谢。。。。
展开
 我来答
My空心果
2011-09-10 · TA获得超过1290个赞
知道小有建树答主
回答量:753
采纳率:0%
帮助的人:620万
展开全部
逻辑式。解释如下:
x++,x的值不为0,所以(x++)为“真”。同理(++y)也为“真”。
所以x++||++y的运算结果为“真”。
++z,这个z的值也不是0,所以(++z)为真。
所以表达式:x++||++y&&++z的逻辑结果为“真”,值就是“1”。所以t=1
蓝骑士之阿强
2011-09-10 · TA获得超过274个赞
知道小有建树答主
回答量:177
采纳率:0%
帮助的人:143万
展开全部
这个涉及到逻辑与和逻辑或得短路特征(就是如果第一个条件就能判断整个逻辑与和逻辑或的值,第二个条件就不会被执行,比如 1 || ++x, 第一个条件为真,不管后面的值为0还是1,结果都为真,++x是不会被执行的)
这里x为1,根据短路特征,所以整个结果为1,即
t=1, x=2, y=1, z=1.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一蜉蝣
2011-09-10 · TA获得超过1319个赞
知道小有建树答主
回答量:89
采纳率:0%
帮助的人:96.4万
展开全部
首先这是一个逻辑表达式,结果只能是0(表示假)或者1(表示真)
在表达式中出现了三个运算符:自加运算符,与逻辑,或逻辑。优先级别为:++>&&>||;
而X,Y,Z的初值都是1;所以不过怎么运算结果都是1;
执行表达式后,X=2;Y=2;Z=2;T=1.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
esharen
2011-09-10 · TA获得超过667个赞
知道答主
回答量:21
采纳率:0%
帮助的人:8万
展开全部
首先,x++的意思是本句执行完后x+1;
++x的意思为先加1再执行语句功能
所以在t=x++||++y&&++z语句中,x=1,y=2,z=2;
表达式相当于t=1||2&&2;
相当于一个逻辑判断语句,语句为真,所以t=1。
例:t=1||0&&1;
则t=0。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
terranlong
2011-09-10 · TA获得超过7294个赞
知道大有可为答主
回答量:2660
采纳率:0%
帮助的人:3976万
展开全部
t=x++||++y&&++z;
这个可以理解为:
++y; // y = 2
++z; // z = 2
t = x || y && z; // t = 2 || 2 && 1, y 和 z都为真,返回1,x为真,还是返回1,因此t = 1
x++; // x = 2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式