有以下程序: #include main() { int a=一2,b=2; for(;++a&&一一b;) ; printf("%d,%d\n",a,b); } 程序运行后的输出

admin2016-04-07  31

问题 有以下程序:
    #include  
    main()
    {  int a=一2,b=2;
    for(;++a&&一一b;)
    ;
    printf("%d,%d\n",a,b);   
    }
    程序运行后的输出结果是(    )。

选项 A、0,1
B、0,0
C、1,一1
D、0,2

答案A

解析 for(;++a&&一一b;);for循环中第1,3表达式为缺省项,判断条件为++a&&一一b;,a=一2,b=2;,第一次执行了++a和一一b,得a=一1,b=1,即一1&&1表示为真,循环条件成立,第二次执行++a为0,由于.&&运算符的应用中,当第一个条件为假时,不执行第二个条件,一一b不执行了,所以b=1。因此a,b的最终值为0,1。故答案为A选项。   
转载请注明原文地址:https://kaotiyun.com/show/RkDp777K
0

最新回复(0)