选择题   有下列程序:
    #include<stdio.h>
    main()
    {int a=-1,b=2;
    for(;a++ && b--;)
    printf('%d,%d,',a,b);
    printf('%d,%d',a,b);
    }
    程序执行后的输出结果是______。
 
【正确答案】 C
【答案解析】for循环中,表达式a++&&b--的值决定循环是否执行。 第一轮循环时,a初值为-1,b初值为2,由于a++是后缀自增运算符,b--是后缀自减运算符,a++&&b--的值等价于-1&&2,结果为1;执行for循环的循环体,此时a的值为0,b的值为1,输出a、b的值为0、1。 第二轮循环时,a的初值为0,b的初值为1,表达式a++&&b--首先执行a++,结果为0,a自增为1;由于短路原则,b--不再执行,整个表达式的值为0,for循环终止;执行循环体外的printf()语句,输出1、1。故本题答案为C选项。