#include <string.h>
strlen - string length 求字符串长度函数
1.优化版本!(用const修饰传入的指针)
assert用于检测传入指针是否为空(警告)
#include <stdio.h>
#include <assert.h>
my_strlen(const char* str) //用const修饰char*指针,表明不能修改所指内容中的值
{
assert(str != NULL);
const char* end = str;
while (*end != '\0')
{
end++;
}
return end - str;
}
int main()
{
char arr[] = "abcdef";
int len = my_strlen(arr);
printf("%d\n", len);
return 0;
}
2.递归方式
#include <stdio.h>
int my_Strlen(char* str)
{
if (*str == '\0')
{
return 0;
}
else
{
return 1 + my_Strlen(1 + str);
}
}
int main()
{
char *p = "abcdef";
printf("字符长度为%d", my_Strlen(p));
return 0;
}
3.非递归方式
#include <stdio.h>
int my_Strlen(char* str)
{
int count = 0;
while ('\0' != *str)
{
count++;
str++;
}
return count;
}
int main()
{
char* p = "abcdef";
printf("字符长度为%d", my_Strlen(p));
return 0;
}