#include <stdio.h>void main(){ float a=2.8,b=1.0,c=4; clrscr(); printf("%f\n",a>(b>c?b:c)?a:(b>c?b:c)); /*这句优先级我明白*/ printf("%f\n",a> b>c?b:c ?a: b>c?b:c ); /*但这句优先级我就不明白了,高手请指示*/ getch();}
where
好象是 第一个 printf是 c=4 第二个 printf是 a=2.8看看 ? :的结合性 和优先级第二个 写出来就是 (a>b>c)? b:(c? a:(b>c? b:c)) =0? b:(c? a:c) =0? b:a对否.请指教
? : 是自右向左结合 先判断括号里 C为 真..则括号里的值为 A 然后 0为假 则 取A值 不对吗