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

admin2022-10-24  23

问题 有以下程序
 #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时,第1次执行“++a”和“--b”,条件表达式为真,循环条件成立。第2次执行“++a”为0,由于“&&”运算符,当第1个条件为假时,不执行第2个条件,因此b=1,发生短路,“--b”不再执行。因此输出的最终值为0,1。故本题答案为A选项。
转载请注明原文地址:https://kaotiyun.com/show/RXkp777K
0

最新回复(0)