一道C语言数组的问题,求详解。

 我来答
百度网友44e5f4a
2014-06-21 · 超过19用户采纳过TA的回答
知道答主
回答量:88
采纳率:0%
帮助的人:48.1万
展开全部
选b.strlen是测量长度的函数,遇到\o停止。此题中有a,b,c,d,\n,0,1,2,\1,\\共十个数,所以选b。PS:strlen(char *)
作用:检测字符串实际长度。
如:char s[]="1234567";
int a=strlen(s);//a=7
实际上strlen(char *)检测的是'\0',strlen(char *)碰到'\0'就返回'\0'以前的字符数。

又如:
char f[]="123456\01111";
int b=strlen(f);//b=6,因为遇到了'\0'

char h[4]={'f','0',0,'h'} ;//注:不能写成char h[4]="f0\0h";因为以""括起来的为字符串,
它隐式的以'\0'结尾,而'\0'也占一个字节,所以应写为char h[5]="f0\0h"
int c=strlen(h);//c=2,因为遇到了'\0'(注意'0'不等于'\0',而0等于'\0')
更多追问追答
追问
能不能详细说一下为啥是10个要是带斜杠我数的是13个,不带斜杠我数的是9.就不是十个。
追答
A,B,C,D,\n,o,1,2,\l,\\共10个·,而字符串中的隐藏的\o不算在内
章鱼哥的店
2014-06-21 · TA获得超过890个赞
知道小有建树答主
回答量:478
采纳率:0%
帮助的人:187万
展开全部
选B
A B C D \n o 1 2 \1 \\
追问
能不能详细说一下为啥是10个要是带斜杠我数的是13个,不带斜杠我数的是9.就不是十个。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式