C语言 字符串长度

"ab'1'\\\12803"... "ab'1'\\\12803" 展开
 我来答
hughxing
推荐于2017-10-15 · TA获得超过4358个赞
知道小有建树答主
回答量:495
采纳率:0%
帮助的人:0
展开全部
这个字符串长度为10个字符。

你可以用strlen("ab'1'\\\12803")来求这个字符串的长度。
也可以用sizeof("ab'1'\\\12803")来求,但是这个求出的结果是多了一个字符串结束符\0。

你可以试着输出这个字符串看看是不是10个字符。

实际上,这10个字符分别为:

1、a
2、b
3、'
4、1
5、'

6、\\(\\表示:前一个表示这是一个转义字符,后一个才是字符串中的真实字符)

7、\12(同上,\表示这是一个转义字符,其后面的1~3个数字位是一个八进制数,在这里,第3个数字为8,所以它不是这个八进制数的一部分,即这个八进制数应该是12,转换为10进制数即为10,对应的ASCII码为一个换行符)

8、8
9、0
10、3

注:\用来说明一个转义字符,如\\表示反斜杠字符“\”,\ddd表示1~3位八进制数所代表的字符(ASCII码),\xhh表示1~2位十六进制数所代表的字符。
qyjtlzc_2007
2009-11-26
知道答主
回答量:9
采纳率:0%
帮助的人:0
展开全部
如果使用strlen函数求它的长度的话,它的长度就是 14,因为strlen求的是其在内存里存储的长度,而字符串在内存里存储时后面会自动带上\0,所以多了一字节。
但用sizeof函数求,其长度就是 13 了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
562738607
2009-11-26 · TA获得超过1261个赞
知道小有建树答主
回答量:1015
采纳率:0%
帮助的人:901万
展开全部
a一个
b一个
'1'一个
\\一个,相当一个\
\12803一个,这是一个八进制字符
后面还有一个\0是系统自动补上去的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
long36273
2012-05-16
知道答主
回答量:37
采纳率:0%
帮助的人:5.7万
展开全部
13个
程序:
#include<stdio.h>
#include<string.h>
void main()
{char a[81],b[8];int c;
printf("请输入字符串a[81]:\n");
scanf("%s",a);//gets(a);
c=strlen(a);
printf("%d",c);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhlonglt
2009-11-26 · TA获得超过130个赞
知道小有建树答主
回答量:109
采纳率:0%
帮助的人:0
展开全部
没有最后的结束字符\0的话,长度为10
a b ' 1 ' \ \12 8 0 2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式