99问答网
所有问题
char str[4] = "abcd";为什么strlen(str)的结果是5?
strlen(str)是返回str不包括'\0'的字符串长度啊
举报该问题
推荐答案 2021-02-02
strlen(str)是返回str不包括'\0'的
字符串
长度----但有一个前提,必须找到str后面的'\0'
str[4]填写了4个字符,没有'\0',strlen会在检测完数组以后,在数组的外面继续寻找'\0',直到找到为止。
结果是5,是因为在数字外面过了一个字节就遇到'\0'了,碰巧而已,结果不一定是几。
-----------
所以用strlen计算,传入的字符串一定要'\0'结束。否则结果是不确定的。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/vvXBtveWOzjzjWe7BtO.html
相似回答
c语言字符长度函数
答:
正确的答案
是5
,题目选项有误。首先
strlen()
函数返回的长度是不包含'\0',第一个字符为:a 第二个字符为:b 第三个字符为:\n (换行符)第
四
个字符为:2 第五个字符为:\ (\\转义为\)所以答案为5。(下图为实际代码演示)扩展内容:strlen()函数(C语言函数):strlen所作的仅仅是一个计数...
char
*str
strlen(str)为什么
长度是6
答:
你给的
str
没有赋初值。所以是随机的!
计算字符串长度的问题!!!
答:
(3) 字符串“abc\0xyz”:其中有一个转义字符'\0',它是字符串结束符,所以,当用函数
strlen
来测试该字符串的长度时,
结果
应该为
4(
而不是8)。
(4)
字符串“abc\\0xy”:其中有一个转义字符'\\'(反斜杠),这样,后面的字符串“0xy”照样计算,所以,该字符串的长度为7(而不是将第二...
c语言:
strlen
str len
这三个是
什么
东西?详区分答一下,谢谢~
答:
c语言中的
strlen是
一个库函数,它的功能是计算字符串的长度。程序员在编写代码时,常常会用str作为字符串变量名,这是因为
str是
“string”的缩写,而“string”在英文中指的是字符串。同样地,程序员也喜欢使用len作为变量名,因为len是“length”的缩写,而“length”在英文中指的是长度。在实际编程中...
c语言
strlen()
中的参数是地址还是
什么
啊
答:
是地址了,比如
strlen(
"abcd"
);
它会首先得到字符串
abcd的
首地址,也就是a的地址
C++中sizeof和
strlen的
区别是
什么?
答:
char
*str
=
"hello"
;strlen(str);
//它的值
是5
,因为hello这个字符串有5个字符sizeof(str); //它的值是4,因为char *是一个指针类型,它占4个字节。sizeof("hello"); //它的值是5,是因为hello有5个字符,每一个字符占1个字节。int a[2] = {0};sizeof(a); //它的值是8,...
cahr a
[]=
"
abcd
";,,h和
char
b[]={'a','b','c','d'};问:数组a 和数组b...
答:
char
a
[]
=
"
abcd
"; 表示
的是
一个字符串,字符串会有一个'\0'作为结尾,所以整体存储a的大小为5,但是如果用
strlen
判断a的长度不会计算末尾的'\0',所以是
4
而char b[]因为就是一个数组,所以没有'\0',直接以字符串的处理函数去处理b,可能越界,造成错误。存储b的大小为4。所以'\0'的...
c语言中
strlen
、str、len分别指
的是什么
意思?
答:
strlen -- 计算字符串长度的库函数名。str -- 通常,程序员喜欢用它作 字符串 变量名。它是 string(英文词 字符串 的缩写)len -- 通常,程序员喜欢用它作 变量名。它是 length(英文词 长度 的缩写)。例如:
char
str[
20]="I am a student";int len;len
=
strlen(str);
printf("the ...
char
s
[5];
但
为何strlen(
s
)的
返回值为11呢?
答:
strlen(char
*)函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个'\0',如果你只定义没有给它赋初值,这个
结果是
不定的,它会从aa首地址一直找下去,直到遇到'\0'停止。char aa[10];cout<<strlen(aa)<<endl; //结果是不定的 char aa[10]={'\0'}; cout<<strlen(aa)<<endl...
大家正在搜
相关问题
char str[]=“abcd\0123"; printf...
设有定义:char str[]="abcdefghij"; ...
在C语言中,在执行 char str[10]=”ch\nin...
char str[10]; cout<<strlen(str...
char *p="abcdefgh";p+=3;printf...
char str[4]="bei"; cout<<strle...
在TC中,若有以下程序片段: char str[]="abc...
已知:char str[ ]="ab\"...