#include <stdio.h>
int main() {
int arr [6] = {22,3,30,1};
int * p = arr ;
p++;
int ** p2 = &p;
int x = 50 &(** p2 );
printf("\n\n%d\n\n", x);
}
有人可以解释最后一排发生的事情吗?
printf
打印2
。
答案 0 :(得分:2)
x
按位{ - 1}}分配值{ - 1}与50
指向的指针指向的整数。
或者换句话说,它是按位50和3. 50在二进制00110010中,其中3是00000011.它们都具有1 in的唯一位是次要最小值。因此,结果是00000010或2。