①程序
intx;
for(x=3;x6;x++)/*x=3、4、5*/
printf((x%2)?("a=%d\n"):("b=%d"),x);
输出结果为
a=3
b=4a=3
~
②分析
(x%2)?("a=%d\n"):("b=%d")为条件表达式
~
当x=3时
x%2=1,为真
执行a=%d\n,有\n回车换行
输出a=3
~
当x=4时
x%2=0,为假
执行b=%d,无\n不换行
输出b=4
~
当x=5时
x%2=1,为真
执行a=%d\n,有\n回车换行
输出a=5
~
最终结果为
a=3
b=4a=3