【正确答案】
B
【答案解析】[考点] 预编译处理、动态分配、结构体、位运算和文件 在C语言中,整型数据在内存中是按二进制形式存放的,位运算就是直接对这些二进制进行操作的一系列运算符。例如,题目中a、b、c的值分别为1、2、3,那它们在内存中存放的样子就是0001、0010、0011(由于数据不大,int类型本来要占4字节也就是32位二进制,这里就省写为4位了)。“^”运算符的作用是按位异或,意思是两个操作数对应的二进制位如果相异,则结果对应的二进制位为1,否则结果对应二进制位为0。所以0001^0010=0011。“&”运算符的作用是按位与,意思是如果两个操作数对应的二进制位同时为1,则结果对应的二进制位为1,否则结果对应二进制位为0。所以0011&0011=0011,也就是十进制的3,故本题程序的运行结果为3。