字符串是以‘\0’作为结束标志,strlen函数的返回值是‘\0’前面的字符串的个数(不包括‘\0’)
注意
1,参数指向的字符串必须以‘\0’结束
2,函数的返回值必须以size_t,是无符号的
使用代码
#include<stdio.h>
#include<string.h>
int main()
{char arr[] = "abcdef";int a = strlen(arr);printf("%d", a);return 0;
}
结果运行
strlen模拟实现
方法1
int my_strlen(const char * str)
{int count = 0;assert(str);while(*str){count++;str++;}return count;
}
方法2
int my_strlen(const char * str)
{assert(str);if(*str == '\0')return 0;elsereturn 1+my_strlen(str+1);
}
方法3
int my_strlen(char *s)
{assert(str);char *p = s;while(*p != ‘\0’ )p++;return p-s;
}
整体代码
#include<stdio.h>
#include<assert.h>
int my_strlen(char* arr)
{assert(arr);char* p = arr;while (*p!= '\0')p++;return p - arr;
}int main()
{char arr[] = "abcdef";int a = my_strlen(arr);printf("%d", a);return 0;
}