有以下程序: #include main() {int c,d; c=(13>>1)|1; d=(13>1)||1; printf("%d,%d\n",c,d); } 程序运行后的输出结果是(

admin2021-04-28  19

问题 有以下程序:
    #include
    main()
    {int c,d;
    c=(13>>1)|1;
    d=(13>1)||1;
    printf("%d,%d\n",c,d);
    }
    程序运行后的输出结果是(    )。

选项 A、6,1
B、1,1
C、7,1
D、7,2

答案C

解析 表达式c=(13>>1)|1中,>>是右移符号,数字13换算成二进制后右移1位,再和1进行按位或运算,结果为7;表达式d=(13>1)||1中,首先判断13是否大于1,此时条件成立返回1后,再和1进行或运算,结果为1。
转载请注明原文地址:https://kaotiyun.com/show/JUtp777K
0

最新回复(0)