输出指针中的字符串为什么在string前加*是错误,*string不是表示string指针指向的地址中的变量吗?

 我来答
A梁sir
推荐于2016-11-09 · TA获得超过108个赞
知道答主
回答量:47
采纳率:16%
帮助的人:10.7万
展开全部
首先把"help mingri"赋给指针p 是指把"help mingri"的首地址赋给指针p,所以*string代表间接引用指针string指向的字符,这个字符不是整个字符串而是首字符'h'。简单点说就是*string=='h'.而且%s是代表字符指针类型,只能输出字符指针,不能输出字符这种常量。

应该改为printf("%s",sring);
这样输出的就是指针p,而指针p又指向字符串"help mingri",这样输出的就是"help mingri "..............你要理解的是"help mingri "这一整个东西压根儿就是个地址常量,不是不变量。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式