
一道C++题目,求解答
已有定义intk=2;int*ptr1=&k,*ptr2=&k;,下面不能正确执行的赋值语句是DA.k=*ptr1*(*ptr2);B.ptr1=ptr2;C.k=*pt...
已有定义int k=2; int *ptr1=&k,*ptr2=&k;,下面不能正确执行的赋值语句是D
A.k=*ptr1*(*ptr2);
B. ptr1=ptr2;
C. k=*ptr1+*ptr2;
D. ptr2=k; 展开
A.k=*ptr1*(*ptr2);
B. ptr1=ptr2;
C. k=*ptr1+*ptr2;
D. ptr2=k; 展开
2个回答
展开全部
A项:A=2*2;先计算的事括号里面的 ,中间的是乘号,左边的是解引用。
B项:地址=地址;就是ptr1所指向的空间和ptr2所指向的空间是一样的 ,就是地址是一样的 。
C项:是A=2+2;就是分别对两个指针做解引用。然后相加。
d项:左值是一个地址,右值是一个整型的变量,类型是不一样的 ,赋值之后,ptr2 的指向变得不确定,变成野指针,会导致错误的额。
B项:地址=地址;就是ptr1所指向的空间和ptr2所指向的空间是一样的 ,就是地址是一样的 。
C项:是A=2+2;就是分别对两个指针做解引用。然后相加。
d项:左值是一个地址,右值是一个整型的变量,类型是不一样的 ,赋值之后,ptr2 的指向变得不确定,变成野指针,会导致错误的额。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询