C语言本身有求字符串长度的库函数即 strlen()函数,可以统计一个字符串第一次出现'\0'时,'\0'之前的字符的个数。
//利用库函数
#include<stdio.h>
#include<string.h>
int main()
{
char arr[]="sdafgfdjkg";
int ret=strlen(arr);
printf("%d\n",ret); // 10
return 0;
}
除了直接使用库函数,我们自己也可以编写一个函数来实现同样的功能:
1、计数器的方法
#include<stdio.h>
#include<assert.h>
//size_t my_strlen(const char* str)
int my_strlen(const char* str)
{
assert(str);
int count=0;
while(*str++ != '\0')
{
count++;
}
return count;
}
int main()
{
char arr[]="sdafgfdjkg";
int ret=my_strlen(arr);
printf("%d\n",ret); // 10
return 0;
}
2、递归的方法(不创建临时变量的计数器)
#include<stdio.h>
#include<assert.h>
int my_strlen(const char* str)
{
assert(str);
if(*str =