c语言中&&与||的优先级
main(){inta,b,c,d;a=b=c=1;d=++a||++b&&++c;printf("%d%d%d%d",a,b,c,d);}上述程序的运算结果和过程是怎样...
main()
{
int a,b,c,d;
a=b=c=1;
d=++a||++b&&++c;
printf("%d%d%d%d",a,b,c,d);
}
上述程序的运算结果和过程是怎样的?
请给出运算后abcd的值 展开
{
int a,b,c,d;
a=b=c=1;
d=++a||++b&&++c;
printf("%d%d%d%d",a,b,c,d);
}
上述程序的运算结果和过程是怎样的?
请给出运算后abcd的值 展开
5个回答
展开全部
1,1,1,true
1赋值给c,c赋给b,b赋给a。
然后,第二个表达式的话结果肯定是布尔值,而有题目观之,此表达式不为0,所以d为true
优先级
++(--)>&&>||
1赋值给c,c赋给b,b赋给a。
然后,第二个表达式的话结果肯定是布尔值,而有题目观之,此表达式不为0,所以d为true
优先级
++(--)>&&>||
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输出是2 1 1 1
(a++)||(b++)&&(c++)等同于(a++) || ((b++)&&(c++))
而对于 ||来说,先算左边表达式的值
(a++)||(b++)&&(c++)等同于(a++) || ((b++)&&(c++))
而对于 ||来说,先算左边表达式的值
参考资料: http://tieba.baidu.com/f?kz=737859614
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
||和&&是同级别的逻辑运算,遇到这种情况一般是从右往左运算,结果应该是2221
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询