strlen 函数用于计算字符串长度,是标准库函数,存放在#include<string.h>头文件中
#include<stdio.h>
#include<string.h>
int main()
{
char arr[] = "hello world";
printf("%d\n", strlen(arr));
return 0;
}
strlen工作机制:‘\0’为字符串
结束标志,计数字符串除‘\0’的个数。
#include<stdio.h>
int my_strlen(char* str)
{
int count = 0;
while (*str != '\0')//循环结束标志
{
count++;//计数
str++;//指针++
}
return count;
}
int main()
{
char arr[] = "hello world";
printf("%d\n", my_strlen(arr));//链式访问,传址调用
return 0;
}
优化:
完全用指针的方法计算字符串
指针-指针计算的是指针间元素的个数
#include<stdio.h>
int my_strlen(char* str)
{
char* ret = str;
while (*ret != '\0')
ret++;
return ret - str;//指针-指针计算的是指针间元素的个数
}
int main()
{
char arr[] = "hello world";
printf("%d\n", my_strlen(arr));//嵌套调用,链式访问
return 0;
}