C语言int a=1,b=2,c=1,t; t=++a||++b&&++c; a=______ 5

inta=1,b=2,c=1,t;t=++a||++b&&++c;a=______b=_____c=_____t=______求解,刚学习实在不明白……... int a=1,b=2,c=1,t;
t=++a||++b&&++c;
a=______ b=_____ c=_____t=______
求解,刚学习实在不明白……
展开
 我来答
心路旅途sky
2015-11-27 · 超过20用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:29.6万
展开全部
a=2;b=2;c=2;t=1
----------
int a=1,b=2,c=1,t;

t=++a||++b&&++c;

++a,自增参与运算,所以是2;因为2非0,即为真,对于逻辑运算而言,真||任意,结果都是真,即为真;因此,++b,没有运算;即变成:真&&++c,++c自增参与运算,即结果为2,也为非0,也为真,最终结果为真&&真,逻辑运算后,即t=真,即为1;
种烧饼的怪叔叔
推荐于2018-03-08 · TA获得超过2214个赞
知道小有建树答主
回答量:824
采纳率:65%
帮助的人:449万
展开全部
答案是2,2,1,1 解析如下
++a||++b&&++c,很据运算符优先级可知他等效于++a||(++b&&++c),根据求值顺序可知,编译器先对||左式求值,得出布尔值 1,同时保证在顺序点结束之前,完成对变量a的自增,a值为2,。依照||求值顺序,当左式为真,则整个式子(++a||(++b&&++c))直接求值为真,并且编译器不会再对右式求值,故b,c值不变,t值为1.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式