求指教c语言问题,*p=&x意思是向*p赋予x的地址,可为什么下面的题目答案是C?

23、若定义:floatx=3.14159,*p=&x;设想,*p=x则printf("%f\n",*p++);的输出结果为__C__。A、无确定值B、x的地址C、3.1... 23、若定义:float x=3.14159,*p=&x; 设想,*p=x
则printf("%f\n",*p++);的输出结果为__C__ 。
A、无确定值 B、x的地址
C、3.14159 D、4.14159
展开
 我来答
veket的小号
2013-06-14 · TA获得超过3371个赞
知道大有可为答主
回答量:3762
采纳率:0%
帮助的人:3981万
展开全部
float x=3.14159,*p=&x; 这是一个定义语句等效于

float x=3.14159;
float *p;
p = &x;

定义指针变量的时候 的*表示指针类型 不表示 指针指向的对象
百度网友1665f17
2013-06-14 · TA获得超过104个赞
知道答主
回答量:193
采纳率:0%
帮助的人:84.3万
展开全部
最终目的不是为了读取值吗?*p=x,这个是在赋予地址之后读取值。要不光要地址没有意义的。而且他说的是输出结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mr_zysv5
2013-06-14
知道答主
回答量:12
采纳率:0%
帮助的人:8.4万
展开全部
p是指针,但是*p表示的指针p指向的类容,你把*去掉,输出的就是x的地址了,不过地址不是10进制的。
但是定义的时候 *p = &x,要这样写,方便吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
索隆_O
2013-06-14 · 超过31用户采纳过TA的回答
知道答主
回答量:80
采纳率:0%
帮助的人:62.5万
展开全部
*p=&x; 可以理解为float *p; p=&x;
也就是说p是指向x的地址。
float *p; p=&x; 等同于这么写 float *p=&x;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chglove
2013-06-14 · TA获得超过163个赞
知道小有建树答主
回答量:143
采纳率:0%
帮助的人:132万
展开全部
p 是指针地址, *p 指向 x, 因此输出 printf("%f\n",*p++) 其结果是 x 的值

printf("%f\n",*p++) 这条语句相当于 printf("%f\n",*p); p++ 你应该清楚 ++ 运算符的作用

如果在 printf("%f\n",*p++) 这条语句之后再次调用 printf("%f\n",*p) 你会发现输出一个随即的浮点数(因为此时 p 指向一个未初始化的地址,即野指针)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式