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

admin2021-07-09  36

问题 有以下程序
#include <stdio.h>
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,因此答案为C选项。
转载请注明原文地址:https://jikaoti.com/ti/84z0FFFM
0

最新回复(0)