Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C指针和整数—;特定情况下的指针行为 #包括 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); }_C - Fatal编程技术网

C指针和整数—;特定情况下的指针行为 #包括 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); }

C指针和整数—;特定情况下的指针行为 #包括 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); },c,C,有人能解释一下最后一排发生了什么吗? printf打印2x按位分配50的值,并使用p2指向的指针指向的整数进行运算 或者换句话说,它是按位和ing 50和3。50是二进制00110010,其中3是00000011。它们都有1英寸的唯一位是第二个最低有效位。因此,结果是00000010或2。您认为它有什么作用?这也确实属于你的问题。可能重复的50d&3d=110010b&000011b=10b=2d你能看到50&3=2吗p++递增p以使其指向arr[]的第二个元素。不,是50&(**p2)中的&是

有人能解释一下最后一排发生了什么吗?
printf
打印
2
x
按位分配
50
的值,并使用
p2
指向的指针指向的整数进行运算


或者换句话说,它是按位和ing 50和3。50是二进制00110010,其中3是00000011。它们都有1英寸的唯一位是第二个最低有效位。因此,结果是00000010或2。

您认为它有什么作用?这也确实属于你的问题。可能重复的
50d&3d
=
110010b&000011b
=
10b
=
2d
你能看到50&3=2吗<代码>p++递增
p
以使其指向
arr[]
的第二个元素。不,是
50&(**p2)中的
&
是一个按位
运算符。
#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);
}