设int a, b=2, c=3;执行表达式a=(b<c)?(b+1):(c+2),后a的值为多少

2024-11-11 17:14:01
推荐回答(2个)
回答1:

b++值为3,c++值为4,--a值为0,但是此题考查的是++或者--在前还是在后,例如:b++,则先拿b去运算在将b+1,而++b是先把b+1再拿结果去运算,所以执行表达式后:d=1,a=0,b=3,c=4.表达式右边结果返回为真,三个表达式进行或运算,不知楼主懂否?

回答2:

a是3
表达式1?表达式2:表达式3 的作用是表达式1的值是真的话整个表达式的值就是表达式2,否则就是表达式3