关于C语言的语法运算理解...求帮忙

 我来答
答琇晶林宸
2019-06-04 · TA获得超过2.9万个赞
知道小有建树答主
回答量:1.2万
采纳率:32%
帮助的人:870万
展开全部
1.这里涉及到“表达式短路”的问题。C语言中有这么一种机制,如果表达式的值已经能确定的话,那么后面对此表达式的值无影响的数据不会再运算。t=++x||++y&&++z,由于++x的值为2,而||的左右只要有一项为真的话那么整个表达式的值为真,所以++y&&++z没有再运算。所以t=1,x=2,y=z=1.
换个位置:如果t =
++y&&++z||++x;++y为2,由于&&要两边都为真才为真,所以还要计算++z,为2,所以++y&&++z为真,即1,后面的++x不用再计算,所以t=1,x=1,y=z=2;
2.>>这是右移运算符,x>>=2即x右移两位。
x=012为八进制,化成二进制就是:1010,右移两位,即0010,为2
蒿可可山华
2020-01-30 · TA获得超过3万个赞
知道大有可为答主
回答量:1.2万
采纳率:29%
帮助的人:856万
展开全部
因为
||
运算符只有前面的条件错误才会执行后面的,只要有一个正确,后面的就不会影响(结果一定为真),所以后面的语句实际没有执行,同理&&
是只有前面的条件正确才执行后面的,有一个错误就退出。
>>=

是个运算符就相当于
x
=
x>>2,
x
+=
2
就是
x=x+2;
还有
-=

*=

/=
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式