strlen库函数的作用是计算一个字符串 (字符数组)中元素的个数,其在计算时遇到'/0',则会停止计算,其'/0'不会进入计算
那么先举一个例子进行使用strlen:
对于第一个代码计算出来为6,是毫无疑问的,那么第二个为什么是42呢?
进行查阅得知第一个数组叫字符串数组,第二个为字符数组,在c语言中字符数组并没有规定最后一个字符为'/0',甚至不包含'/0',添加'/0'作为结束标志是针对于c语言中的字符串而言,因为字符数组最后必有'/0'是错误的,但是第一个数组为字符串数组,他会自动添加'/0',其也是作为元素之一,也就是说也会算是长度,sizeof打印出来也就是7;
while的方法:(/0ascii 码是0)
for的写法
do...while的写法
那么进行查找相关内容对于strlen
int my_strlen(const char* str)
{
? ? int count = 0;
? ? assert(*str != NULL);
? ? while (*str != '\0')
? ? {
? ? ? ? count++;
? ? ? ? str++;
? ? }
? ? return count;
}
int main()
{
? ? char arr[] = "abcd";
? ? int len = my_strlen(arr);
? ? printf("%d\n", len);
? ? return 0;
}