如果按你说先是计算前面的,k<a?k:c<b?c:a,得到k<b?c:a,这样子不就得到C了吗?
追答k<a?k:c<b?c:a
先判断k是否小于a,k=-4,a=3所以k<a为真,所以返回的是k,是冒号前面的表达式。。。
好像懂又好像不懂。。你能用括号区分开 先算哪个问号,再算哪个问号吗?
追答(k<a)?(k):(c<b?c:a);
追问在C语言中。我看了书上说条件表达式的结合是自右向左,所以我这样子理解对吗?就是先算c<b,得到答案是c,然后再算k<a?k:c得到K 这样子说法对???
追答正确~
追问还有点小问题,你说程序结束后,k,a,b,c,的值是否会发生变化?
追答不会发生变化,因为这里面根本都没有赋值语句哈~
追问哦哦,呵呵,谢谢你啊
追答采纳一下拉~
在C语言中。我看了书上说条件表达式的结合是自右向左,所以我这样子理解对吗?就是先算c<b,得到答案是c,然后再算k<a?k:c得到K 这样子说法对???