若有定义int a[5],*p=a;,则对a数组元素的正确引用是 。
A. int a[5],*p; p=&a; B. int a[5],*p; p=a;
C. int a[5]; int *p=a=1000; D. int a[5];int *p1,*p2=a;*p1=*p2;
A 数组名a就是地址,b不需要再加取地址符 D 定义p1指针后没有马上初始化,将其指向某个地方就直接对*p1赋值
d哪里错了
snake 回复 19568276867: 应该是p1=p2;
19568276867 回复 snake: 不是的这不是问题所在,关键是定义指针的时候它没有初始化,p1定义的时候必须指向某个地方才行
c 可以?
题目应该有问题
为啥编译器里B可以,然而A能运行出结果,但反而还有警告
B
题目...
用户登录可进行刷题及查看答案
题目解析:A中因为p存放的是内存的地址,&a表示的是地址的地址,C中因为数组a表示的是常量地址,常量地址是不能赋值的。D错在*p2=a,*p2表示的是内存地址中的值,而a是常量地址,类型不匹配
登录后提交答案