表达式“1?(0?3:2):(10?1:0)”的值为( )。

答案是2,帮忙解释一下!谢谢了
2024-11-26 18:46:17
推荐回答(2个)
回答1:

这应该是C语言吧

因为括号的优先级最大

所以先计算(10?1:0) 因为10?10为非0 是真 则这个条件表达式输出 0

在计算(0?3:2) 因为 0?是0 是假 则这个条件表达式输出 2

得到 1?2:1 因为1? 1是非0 是真的 则这个条件表达式输出 2

回答2:

if(1){//1是true,所以执行第一中情况
if(0) {//0是false,所以不能是3,只能是2
3;
}else {
2;
}
}else {
if(10) {
1
}else {
0
}
}