首先,r是a的一个引用, 执行&r = a后,r的值是100但是p是指向a的指针,所以执行*p = 10;后,a,r,*p的值都是10r&0x0A是一个与运算10化成二进制数为:0000 1010 0x0A(即十六进制数:0A)化成二进制数为:0000 1010两个相与得到0000 1010,即10(十进制)
r = r & 0x0A;& 是按位与操作,操作数写成二进制,同一数位都为1,结果中此位置为1,否则为0