为什么选D呢?题中也没说明x是啥

下列位运算表达式的结果仍然为a的是( )。
A.a & 0 B.a | 0
C.~a D.a ^ x ^ x

因为 a^x^x =a^(x^x)=a^0=a

a异或一个数再异或一次这个数,结果就是a本身,无论这个数是什么

直接排除法哈哈哈

Java中 ^是异或运算符,符号两边的数必须为二进制。符号左右两边的二进制数,相应的位相同为0,不相同为1。
所以a^x^x 中两次^x可以抵消,则a^x^x=a