万能百科  > 所属分类  > 

有以下程序 #include main() { int a=1, b=2, c=3, x; x=(a^b)&c; pri

有以下程序 #include <stdio.h> main() { int a=1, b=2, c=3, x; x=(a^b)&c; printf("%d\n",x); } 程序的运行结果是

A.0

B.1

C.2

D.3

正确答案:

D解析:在C语言中,整型数据在内存中是按二进制形式存放的,位运算就是直接对这些二进制进行操作的一系列运算符。例如题目中a、 b、c的值分别为1、2、3,那它们在内存中存放的样子就是:0001、0010、0011(由于数据不大,int类型本来要占4字节也就是32位二进制的,这里就省写为4位了)。“^”运算符的作用是:按位异或。意思是:两个操作数对应的二进制位如果相异,则结果对应的二进制位为1,否则结果对应二进制位为0。所以0001^0010=0011。“&”运算符的作用是:位与。意思是:如果两个操作

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

标签