c++问题2

来源:百度知道 编辑:UC知道 时间:2024/06/17 13:02:15
15.有以下变量声明,下面不正确的赋值语句是( )。
int a=5, b=10, c; int *p1 = &a, *p2 = &b;
(a) *p2 = b ; (b) p1 = a ;
(c) p2 = p1 ; (d) c = *p1 *( *p2 ) ;
请问怎么解?为什么?
答案是b

a是整形,p1是整形指针
如果改成
*p1=a
就可以

首先a选项 *p2=币相当于把定义了指针p,把它指向b(相当于p2=&b) 这是如果输出*p2结果是10
b选项 应该改为*p1=a或者p1=&a
c选项 把p1的地址赋予p2
的选项 第二个*是乘号~~结果应该是 c=50