这个数组的长度怎么数啊??

设chara[]="ab'1'\\\1278";则数组a的长度是麻烦详细讲哈??... 设char a[]="ab'1' \\\1278" ;则数组a的长度是
麻烦详细讲哈??
展开
 我来答
dota_5st
2010-10-25 · TA获得超过1748个赞
知道答主
回答量:52
采纳率:0%
帮助的人:58.2万
展开全部
该数组的长度为10
char a[]=""是在C语言中的作用是定义字符串,在C语言中字符串是作为字符数组处理的,其中""中包含的元素个数就是数组a的长度
现在设长度length为0,分析下里面的元素
a[0]是字符a,length=1
a[1]是字符b,length=2
a[3]是字符',length=3
a[4]是字符1,length=4
a[5]是字符',length=5
a[6]是字符空格length=6(也不知道你有没有,我当你有了,没有的话空格长度是9)
a[7]是字符\(\\是转义字符,意思是将\后的字符转换为特殊意义,比如\n是换行回车,\\代表输出一个\),length=7
a[8]同样转义字符W(\127),length=8
a[9]为字符8,length=9
然后..是最后的关键,C语言把字符串作为字符数组处理,但是,为了识别字符串是否结束,自动在每个字符串的末尾都多加了一个'\0'作为字符串结束的标志,length=10

解答完毕(以后遇到\号要小心~~)

不放心可以编个小程序验证下
#include<iostream>
#include<stdlib.h>
using namespace std;
int main()
{

char a[]="ab'1' \\\1278" ;
cout<<sizeof(a)<<endl;

system("pause");
return 0;
}
输出为10

都是自己打的。希望能帮上忙哦
applegreen8888
2010-10-25 · 超过18用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:39.7万
展开全部
如果用strlen(),就不算最后的“\0”
当不算时,长度为10,分别为a b ' 1 ' \ 1 2 7 8
三个“\”只有中间一个算一个字符。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qyjubriskxp
2010-10-25 · TA获得超过892个赞
知道小有建树答主
回答量:735
采纳率:0%
帮助的人:748万
展开全部
长度为10
10个字符分别是
a
b
'
1
'
空格
\(在字符串中写作\\)
W(在字符串中写作\127,\后面如果是数字,则是三位八进制数,对应ascii码,例如八进制的127对应W)
8
\0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式