第1个回答 2011-10-21
其实那个表达式可以理解为:(k<a ? k : (c<b ?c :a))
后面的(c<b ?c :a) 是返回b和c最小的那个,明显是1
然后剩下的就是(k<a ? k :1) ,这个的意思就是,如果k<a,返回k;如果k>a,返回1。明显是后者,因此返回的是1
第2个回答 2011-10-21
这个问题分为两部分,相当于内嵌式,应该是k<a ? k : (c<b ?c :a),这样,你就明白了。先算括号里的,然后在算整体。结果是1
第3个回答 2011-10-21
答案是1,k<a ? k : c<b ?c :a的结合性是自右向左的,可以和k<a ? k : (c<b ?c :a)相等,c<b ?c :a等于1.
k<a ? k : 1,最后结果等于1.
第4个回答 2011-10-21
首先条件运算符的结合方向为“自右至左”,然后是条件运算符的优先级别低于关系运算符。所以先算后面“ c<b ?c :a”的值,假设值为t,则t=1,然后算“k<a ? k : t”的值,结果为1