有以下程序: #include<stdio.h> main() { int a=1,b=2,c=3,d=0; if(a==1&&b++==2) if(b!=2||c!=3) printf("%d %d %d\n",

admin2018-01-14  20

问题 有以下程序:
   #include<stdio.h>
   main()
   {
   int a=1,b=2,c=3,d=0;
   if(a==1&&b++==2)
   if(b!=2||c!=3)
   printf("%d %d %d\n",a,b,c);
   else
   printf("%d %d %d\n",a,b,c);
   }
   程序运行后的输出结果是(    )。

选项 A、1 2 3
B、1 3 2
C、1 3 3
D、3 2 1

答案C

解析 首先a=1,b=2,c=3,d=0;因为a为1,b++本身为b加之前的值,即b++为2,所以第一个if语句的判断条件为真,进入if语句。b经过b++运算后值为3,所以第二个if语句为真(或运算时,一个为真,整体都为真,并且第一个为真时第二个不会被执行运算),这时后面的运算都忽略。
转载请注明原文地址:https://kaotiyun.com/show/dTxp777K
0

最新回复(0)