以下C程序代码片段运行后c和d的值分别是多少? int a = 1, b = 2; int c, d; c = (a & b) && a; d = (a && b) & a;

答案解析

本题考查C语言中的逻辑与位运算。c = (a & b) && a; 中,a & b的结果是0,因为1和2在二进制位上没有重叠的1,所以c的值为0。d = (a && b) & a; 中,a && b的结果是1,因为两个非零值逻辑与的结果是1,然后1 & a的结果是1,因此d的值为1。选项B正确。其他选项的值不符合逻辑和位运算的规则。
正确答案:B
随机推荐
开始刷题