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

admin2019-01-11  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://jikaoti.com/ti/yef0FFFM
0

最新回复(0)