c语言的问题

两个答案好像有点冲突,能不能解释一下... 两个答案好像有点冲突,能不能解释一下 展开
 我来答
BB919379706
2017-08-27 · TA获得超过186个赞
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:74.9万
展开全部
首先左边的,应该是选第二个。
第一个选项,p是int 指针,不能把float赋给它;
第二个,p是float指针,把x的地址,其实就是一个float指针赋给它是可以的。
第三个,p是float值,把x的地址,其实是一个指针,赋给它是不行的。
第四个,p是float指针,1024是int,赋给它是不行的。
右边的,应该是选第一个。

第一个,定义一个int值n,和一个int指针p,然后让它指向NULL,没问题。
(注意,定义指针的时候,前面的*只是说明这个变量是一个指针,不是表示指针所指向的值,所以int *p = &a;这是让p等于a的地址,而不是让p所指向的值等于a的地址)
第二个,p所指向的是int类型数据,&n是int的地址,数据类型不同,不能赋值。这里应该改成p = &n;
第三个,p的值就是n的地址,这里再加个取地址符号&就不对了,p就行了。
第四个,要输出n的值,应该是输出p所指向的值,而不是p的值。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式