int a=1,b=2,c=3,d=4;则表达式a++<b?a:c<d?--a:--d的结果是什么
int a=1,b=2,c=3,d=4;则表达式a++<b?a:c<d?--a:--d的结果是什么
日期:2019-05-15 22:58:42 人气:1
在这个表达式中,三目运算符的执行顺序是从左往右的
但整个表达式的执行顺序是从右向左执行的
初始值a=1,b=2,c=3,d=4
先执行--a和--d,得到a=0,d=3
再判断c<d是否为真,因为c=3=d=3
所以表达式c<d?--a:--d的值是3
此时a的值是0
则原表达式简化为
a++<b?a:3
对于a++<b是先判断a<b的真值,然后a再增1
由于a=0<b=2,且a++之后a=1
最终的运算结果是1
希望回答对你有帮助!
【原创答