有以下程序 #include <stdio.h> main( ) { int a=-2, b=2; for(; ++a && --b;) ; printf("%d,%d\n", a,b); } 程序运行后的输出结果是

admin2021-02-25  11

问题 有以下程序
#include   <stdio.h>
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为0,由于&&运算符,当第一个条件为假时,不执行第二个条件,所以b=1,发生短路,--b不执行了。因此a,b的最终值0,1。故答案为A选项。
转载请注明原文地址:https://kaotiyun.com/show/8Itp777K
0

最新回复(0)