C语言char *p=“abcde/Ofghjik/0”; ??printf(“%d/n”,strlen(p));

char*p=“abcde/Ofghjik/0”;??printf(“%d/n”,strlen(p));p为什么会是5;这5个字符分别是,,为什么... char *p=“abcde/Ofghjik/0”; ??printf(“%d/n”,strlen(p)); p为什么会是5 ;这5个字符分别是,,为什么 谢谢的,下周要求证了 展开
 我来答
衣弘礼海之
2019-07-01 · TA获得超过3644个赞
知道大有可为答主
回答量:3085
采纳率:31%
帮助的人:188万
展开全部
楼主
你应该把问题弄错了
字符串
"abcde/Ofghjik/0"
应该是"abcde\0fghijk\0"吧
对于strlen是读取字符串个数,碰到\0就结束
参考:
strlen的结果要在运行的时候才能计算出来,主要用来计算字符串的长度,不是类型占内存的大小,strlen只能用char*做参数,且必须是以''\0''结尾的。
1、第二个元素就是\0
所以得到字符串长度为1
2、\t
\v
\\都是转义字符,为三个字符,后面又是\0,所以长度为3
3、\x69就是16进制的69,十进制为105,查看ASCII表对应字符,而\xxx指的是一个八进制值所对应字符,但是\082显示不是,八进制只有0-7的数字,所以这里只是一个\0
和数字
82
字符串长度为1
如果要获得每个数组中有多少个字符可以考虑用sizeof
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式