设有定义:int n1=0,n2,*p=2,*q=1;,以下赋值语句中与n2=n1;语句等价的是( )A*p=*

1个回答

  • 尽力回答,欢迎最问

    题目中定义将逗号拆开详写:

    int n1 = 0; //n1 的初始值为 0

    int n2; //n2 声明

    int *p; //声明一个int型 的指针p

    p = &n2; //指针p 指向 n2的地址

    int *q; //声明一个 int型的指针q

    q = &n1; //指针q 指向 n1的地址

    赋值语句

    n2 = n1; // 将等号右边n1的值 0,赋给等号左边n2

    选项:

    A *p = *q; //将指针q指向的地址里的值(即n1的值),赋给指针p指向的地址里(n2)

    B p = q; //p 和 q 分别存放n1、n2变量地址的,该地址是由系统分配的,不能赋值

    C *p = &n1; // *p 是指针p指向的地址里的值,&n1是n1的地址,不能赋值

    D p = *q; //p 存放的是n2的地址,*q是指针q指向的地址里的值,不能赋值