66问答网
所有问题
c语言中strlen所输出的字符长度到底要不要再加1 (指'\0')?
如题所述
举报该问题
推荐答案 2011-03-03
不用加1,有些情况加1,是把字符串看成了字符数组,才要加1的。strlen函数求的是字符串的实际长度,它是从开始到遇到第一个'\0',如果你只定义没给它赋初值,结果不定,它会从aa首地址一直找下去,直到遇到'\0'停止。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/npnn9U9sp.html
其他回答
第1个回答 推荐于2017-12-04
c语言
中strlen所输出的字符长度不要再加1。
例如,char s[]="ABCD";
则strlen(s)=4,
s[0]='A',........s[3]='D',s[4]='\0'
本回答被网友采纳
第2个回答 2011-03-03
函数strlen为实际长度不要加1,但要清楚为什么会有'\0'.
相似回答
在
C语言
求
字符长度
的问题,
strlen
与sizeof怎么计算出来的长度不是我们...
答:
由于p是指针,p的大小就是4字节,它不是求内容的长度,而是变量p本身的大小 同理q指针也一样 你可以试一下将指针指向的内容
长度再
增长,sizeof(p)仍然是4
字符
指针:分配长度用
strlen
计算后+1 如果算数组分配
长度(
数组声明时的空间大小,不管字符数组是否填满)用sizeof 注意:回答内容已修改,你自己...
c语言字符长度
函数
答:
正确的答案是5,题目选项有误。首先strlen()函数返回
的长度
是不包含'\0',第一个
字符
为:a 第二个字符为:b 第三个字符为:\n (换行符)第四个字符为:2 第五个字符为:\ (\\转义为\)所以答案为5。(下图为实际代码演示)扩展内容:strlen()函数
(C语言
函数):
strlen所
作的仅仅是一个计数...
c语言strlen
判断
字符长度
的问题
答:
b=
strlen(
a);printf("您输入
的字符长度
为:%d\n",b);} 试试这样的,你要是一个字符一个字符的输入,if (a[i]=='\n')就没意义了。
...printf("%d\n",
strlen(
"ATS\n\12\
1
\\"
));
求过程
答:
7
strlen
函数返回
字符串的
长度,不包括结尾符'\0',\为转义符,表示对它后面的一个字符进行转义,所以\n、\12、\\分别表示回车、8进制的12(十进制的10)和'\',均表示一个字符,所以长度为1。所以,这个字符串的长度为3 (ATS)+ 1(\n)+ 1(\12)+ 1(\1)+ 1(\\)= 7 ...
C语言
里哪个函数计算
字符串长度要
算/0,哪个有不用啊?
答:
\0是字符串结束符,仅占用存储空间,但不算作有效
的字符
,系统函数
strlen(
char s[]),仅返回'\0'之前的字符个数。而关键字sizeof返回的是真个字符串包含'\0'在内占用的字节数。请注意strlen是函数,而sizeof是C/C++关键字。
“printf ("%d\n",
strlen(
"ats\n012\
1
\\"
))
”的
输出
结果
C语言字符串
...
答:
在
字符串
中,反斜杠是转义符,所以第一个字符串\\长度是1,\n是长度也是1 第二个字符串中,"\016","\0"都被认为是一个字符,所以长度是3(\0标记结束,后面忽略),而在解析第一个字符串的时候\n已经被解析完毕,012被认为是字符串内容,而不是转译内容了。
大家正在搜
相关问题
strlen 算字符串长度时要算上转义字符吗
C语言问题strlen(a)返回的字符串长度包括‘\0’这位...
C语言中,字符串长度包含/0么??
C语言字符串长度不是实际长度+1吗?
C语言中判断字符串的长度不用strlen的问题
C语言sizeof("\0") strlen("\0")
c语言中字符串数组的长度,什么时候将'\0'算上,什么时候不...
计算字符串长度是要不要加上\0