注册 登录
编程论坛 版务及公告

一道程序选择题

大风车 发布于 2008-07-31 10:34, 3000 次点击
如下:
设有定义“int a=3,b,*p=&a”,则下列语句中使b不为3的语句是———。
A。b=*&a;B b=*p; C b=a; D b=*a;
疑问1:为什么可以写成,*p=&a而不是,p=&a?
疑问2:最后的D项是将a的地址赋给b吗?不过之前都没对a进行指针的定义啊?为什么又可以这样写呢?
10 回复
#2
yi10182008-07-31 14:58
回复 1# 大风车 的帖子
*p=&a是正确的写法,因为指针指向的是函数(参数)的地址,而p=&a,如果是正确的写法的时候就必须前边有个前提,例如,int *p;p=&a;&是一个地址符
#3
yi10182008-07-31 15:02
回复 1# 大风车 的帖子
疑问2:最后的D项是将a的地址赋给b吗?不过之前都没对a进行指针的定义啊?为什么又可以这样写呢?

不是的,它的写法不对,所以就可以排除了,从定义的角度就给排除了,
#4
mxxtxmyn2008-09-11 18:50
d 不对~
这种写法格式不对
*p=&a
相当于 p 的值是a的地址
       那么指向该地址的指针代表的就是a 的值
所以 *p  也是3
#5
taiyang03312008-09-24 15:57
D项中的 p 是一个指针变量, a 是一个整型,不能对一个整型进行解引用操作
#6
xin99v2008-09-28 19:17
支持
楼上说法
#7
xiaoming88772008-10-04 23:32
呵呵!我是新手!进来看看!
#8
jdshaoheyi2008-11-07 08:29
二楼很正确嘛
#9
chen448450232009-07-14 16:23
楼上写得很详细
不过我是新手不知道对错
#10
panshoup2009-08-20 19:15
其实我也不知道
  学习学习
#11
chenbofeng202009-10-21 11:39
这是那种语言?
1