关于C语言printf输出字符型指针变量的问题

 我来答
亓官晓慧师双
2019-02-24 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:26%
帮助的人:896万
展开全部
%s指定了格式,函数用字符串指针的格式来理解str
如果只要输出地址值,用%d,是按照整型格式来理解str
多说一点,如果用%d来解析浮点类的,是得不到浮点值的,因为格式理解错误,并且不会去进行隐式类型转换,需要用%f,或者显示的进行转换.
凌白亦果珏
2019-02-14 · TA获得超过2.9万个赞
知道小有建树答主
回答量:1.1万
采纳率:26%
帮助的人:689万
展开全部
这个得从printf说起。
当printf的内部扫描到“%s”时,他就会找到对应的指针参数,然后从指针的当前位置挨个往后输出,一直遇到字符串的结束标志位(0)。
很多字符串处理函数都是这样的原理,你可以参考一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
韶永逸舜霓
2020-02-07 · TA获得超过3.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:33%
帮助的人:617万
展开全部
str是字符串,结尾有'\0',根据这个识别的(其实string.h里的函数都是利用这个的,所以没有'\0'的字符串是很危险的)。
顺便说一句printf其实并不安全。因为是变参函数,所以没有类型检查,拿来就用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
谭丰羽富珺
2019-08-03 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:29%
帮助的人:841万
展开全部
printf从str开始读字节,一直遇见\0
视为字符串结束
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式