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=______
求解,刚学习实在不明白…… 展开
t=++a||++b&&++c;
a=______ b=_____ c=_____t=______
求解,刚学习实在不明白…… 展开
展开全部
答案是2,2,1,1 解析如下
++a||++b&&++c,很据运算符优先级可知他等效于++a||(++b&&++c),根据求值顺序可知,编译器先对||左式求值,得出布尔值 1,同时保证在顺序点结束之前,完成对变量a的自增,a值为2,。依照||求值顺序,当左式为真,则整个式子(++a||(++b&&++c))直接求值为真,并且编译器不会再对右式求值,故b,c值不变,t值为1.
++a||++b&&++c,很据运算符优先级可知他等效于++a||(++b&&++c),根据求值顺序可知,编译器先对||左式求值,得出布尔值 1,同时保证在顺序点结束之前,完成对变量a的自增,a值为2,。依照||求值顺序,当左式为真,则整个式子(++a||(++b&&++c))直接求值为真,并且编译器不会再对右式求值,故b,c值不变,t值为1.
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |