职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 1158|回复: 3

若有”char p[]=”A\0BC\0DEF\n”则strlen(p+4)的值是

[复制链接]
monkeyking 发表于 2009-9-8 08:59 | 显示全部楼层 |阅读模式
其中的p+4什么意思?
十六 发表于 2009-9-8 08:59 | 显示全部楼层

若有”char p[]=”A\0BC\0DEF\n”则strlen(p+4)的值是

答案该是 0;
本来p指向数组的首地址
P+4
就指向数组的第四个地址
也就是\0DEF\n
strlen(p+4)
就输出“\0DEF\n”的长度
然而strlen 函数是遇到NUL自己就结束的
所以碰到/0就结束了
输出长度为0.
七夜魔君 发表于 2009-9-8 08:59 | 显示全部楼层

若有”char p[]=”A\0BC\0DEF\n”则strlen(p+4)的值是

p+4就是&p[4].
自由仔 发表于 2009-9-8 08:59 | 显示全部楼层

若有”char p[]=”A\0BC\0DEF\n”则strlen(p+4)的值是

p+4=&p[4]
strlen(p+4)
指从p数组下标4的元素开始的字符串长度“\0DEF\n”
然后这个长度函数遇到\0就停止
所以输出0
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-4-26 02:14 , Processed in 0.141047 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表