&是按位与运算符,它的规则是:1&1=1 1&0=0 0&0=0,比如2&3,2变成二进制是0000 0010,
3变成二进制是0000 0011。两者按位与就是0000 0010,换回来是2.
第一题,中要注意||是短路运算,也就是说,||前面的表达式为真,则后面的表达式就不再计算,所以是C:3
第二题,p保存了a[0]的地址,*p++是++优先结合所以可看成是*(p++),p指针向后移了一位,p指向了a[1]的地址,*是取值,但无操作,无视。*p+=1,+=优先级低先结合*所以成了(*p)+=1,先取a[1]的值,再对其加1.
同意一楼的说法!!!!