字符串长度,也是从字符串首地址,到\0所在位置结束,而strlen()函数主要返回字符串的长度,注意该函数所求字符串长度,是从字符串首地址,到\0所在位置结束,具体例子如下
当\0在最后时 strlen("123"); 返回长度为3 //字符串最后都有默认的\0
但\0在中间时 strlen("12\0z3"); 返回长度为2 // \0后面字符不算入长度,且\0也不算入长度
注意1
当\0后面加的是数字时,该\0并不是字符串结束符,而是跟后面数字组合成八进制数,表示一个字符
例子
#include<iostream>
using namespace std;
int main() {
char c[] = "12\03";
int s = strlen(c);
cout << s;
return 0;
}
结果输出
3
注意2
转义序列如 ‘\t’、‘\\’、‘\n’等,这些都只算做一个字符,即‘\t’只算一个字符,例子如下
#include<iostream>
using namespace std;
int main()
{
char c[] = "\t\n\\";
int s = strlen(c);
cout << s;
return 0;
}
结果输出
3
补充
\000表示三位八进制数代表字符的ASCII码值,如\011代表\t
\x00表示两位十六进制数代表字符的ASCII码值,如\x09代表\t
个人看法,如有错误,请指出。
如有侵权,请联系删除。