选择题 18.  有以下程序:
    #include<stdio.h>
    main()
    {  int a=-2,b=2;
    for(;++a&&--b;)
    ;
    printf("%d,%d\n",a,b);
    }
    程序运行后的输出结果是______。
【正确答案】 A
【答案解析】 在for(;++a&&--b;);这个for循环中,第1、3表达式为缺省项,判断条件为++a&&--b,由于a=-2,b=2,第一次执行了++a和--b后,值为真,循环条件成立;第二次执行++a后值为0,由于&&运算符,当第一个条件为假时,不执行第二个条件,所以b=1时发生短路,--b不执行了。因此a,b的最终值为0,1。故答案为选项A。