设x,y,z,t均为整型变量,现有如下语句x=y=z=1;t=++x||++y&&++z;则执行这个语句后t的值为
[A]2[B]1[C]0[D]不定值语句x=y=z=1;t=++x||++y&&++z是什么意思啊,怎么算的?该考试了,还都不懂,汗!知道的朋友说详细点,谢谢!...
[A] 2 [B] 1 [C] 0 [D] 不定值
语句x=y=z=1;t=++x||++y&&++z是什么意思啊,怎么算的?
该考试了,还都不懂,汗!
知道的朋友说详细点,谢谢! 展开
语句x=y=z=1;t=++x||++y&&++z是什么意思啊,怎么算的?
该考试了,还都不懂,汗!
知道的朋友说详细点,谢谢! 展开
4个回答
展开全部
x=y=z=1表示给x,y,z赋值,这时x,y,z的值都是1了;
t=++x||++y&&++z表示将++x||++y&&++z的运算结果赋值给t;
具体就是:
先进行++y&&++z运算,因为&&(与运算)的优先级逼||运算的优先级高,++y后y等于2,++z后z等于2所以++y&&++z后结果为1;(逻辑运算你应该知道吧?为真就是1,为假就是0,这里y和z都是非零值故它们相与就是1)
然后将上面的1和++x进行||(或运算),++x后x的值为2,所以得到的结果当然也是1啦。所以结果就是1啦。
当然做这种运算有技巧的,因为或运算只要有一个为真的话,后面的就不用看了,直接得到结果就是1,还有逻辑运算的值不是1就是0,所以A和D一看就是很荒唐的,所以答案就是B啦。
t=++x||++y&&++z表示将++x||++y&&++z的运算结果赋值给t;
具体就是:
先进行++y&&++z运算,因为&&(与运算)的优先级逼||运算的优先级高,++y后y等于2,++z后z等于2所以++y&&++z后结果为1;(逻辑运算你应该知道吧?为真就是1,为假就是0,这里y和z都是非零值故它们相与就是1)
然后将上面的1和++x进行||(或运算),++x后x的值为2,所以得到的结果当然也是1啦。所以结果就是1啦。
当然做这种运算有技巧的,因为或运算只要有一个为真的话,后面的就不用看了,直接得到结果就是1,还有逻辑运算的值不是1就是0,所以A和D一看就是很荒唐的,所以答案就是B啦。
展开全部
B
++比逻辑运算|| &&优先级高。
t=++x||++y&&++z
t=2||2&&2
而||和&& 一样优先级。
|| 这个或是,只要有个一个为真,就为1 。
这里 2 不为0,就是是真。
所以t = 1;
++比逻辑运算|| &&优先级高。
t=++x||++y&&++z
t=2||2&&2
而||和&& 一样优先级。
|| 这个或是,只要有个一个为真,就为1 。
这里 2 不为0,就是是真。
所以t = 1;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
z=1;
y=z;
x=y;
x=x+1;
y=y+1;
z=z+1;
t=x||y&&z
其实是这个的缩写
y=z;
x=y;
x=x+1;
y=y+1;
z=z+1;
t=x||y&&z
其实是这个的缩写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询