int k,a[10],*p1=*p2=a;以下语句不正确的是A.k=*p1+p2
intk,a[10],*p1=*p2=a;以下语句不正确的是A.k=*p1+p2B.k=*p1*(*p2)C.p2=kD.p1=p2怎么做,求解释...
int k,a[10],*p1=*p2=a;以下语句不正确的是A.k=*p1+p2 B.k=*p1*(*p2) C.p2=k D.p1=p2 怎么做,求解释
展开
展开全部
int k,a[10],*p1=*p2=a
定义的一个无初值的k 定义了一个10个元素的整型数组a,定义了2个指针p1,p2分别指向a数组首地址
A. k=*p1+p2 右边相当于指针p2+数值 也就是p2指向的地址偏移 返回的还是地址。把地址赋值给整型变量 报错
B.k=*p1*(*p2) 右边*p1 *p2都是指向地址的值 相当于 数值*数值 返回还是数值,所以赋值成立
C.p2=k 指针本身其实也是变量,只不过指针里存储的数值代表的是地址。而这里把k的值赋值给了p2, 这样不报错,但p2里的值就不是有效的地址,p2也就失去指针的意义
D.p1=p2 都是指针,没问题
所以选A
定义的一个无初值的k 定义了一个10个元素的整型数组a,定义了2个指针p1,p2分别指向a数组首地址
A. k=*p1+p2 右边相当于指针p2+数值 也就是p2指向的地址偏移 返回的还是地址。把地址赋值给整型变量 报错
B.k=*p1*(*p2) 右边*p1 *p2都是指向地址的值 相当于 数值*数值 返回还是数值,所以赋值成立
C.p2=k 指针本身其实也是变量,只不过指针里存储的数值代表的是地址。而这里把k的值赋值给了p2, 这样不报错,但p2里的值就不是有效的地址,p2也就失去指针的意义
D.p1=p2 都是指针,没问题
所以选A
追问
可答案是C啊
A我打错了,是k=*p1+*p2.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询