{int a=10,b=20,c=30,d; d=++a<=10||b-->=20||c++; printf("%d,%d,%d,%d,\n",a,b,c,d);} 结果是11,19,30,1
展开全部
要注意符号的优先级问题,建议楼主对比一下各个运算符的优先级问题,就这个而言,++或--的优先级最高,
d=++a<=10||b-->=20||c++;
就变成了++a a<=10 b-- b>=20 c++ 然后是从左到右运算两个||符号,左后得出的结果(即一个bool类型的值赋给d)
d=++a<=10||b-->=20||c++;
就变成了++a a<=10 b-- b>=20 c++ 然后是从左到右运算两个||符号,左后得出的结果(即一个bool类型的值赋给d)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
b你使用递减也就是--,所以是19;别外c你在赋值30后也没有参与运算,当然还是30啦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
++a<=10||b-->=20||c++;
不要在一个表达式里使用2个自加或自减,实现将根据编译器。
不要在一个表达式里使用2个自加或自减,实现将根据编译器。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询