求字符串长度,我们可以通过库中自带的strlen()函数,也可以通过字符数组来进行计算,还可以通过字符串指针来计算。下面的代码便是通过字符串指针来操作的。
/*
*求字符串长度
*/
#include<stdio.h>
#include<string.h>
//求字符串长度
int strlen_self(char *string)
{
int length = 0;
if (string!=NULL)
{
while (*string++ != '\0')
{
length++;
}
}
return length;
}
int main()
{
char str[] = "Hello world ";
printf("字符串长度为%d\n", strlen_self(str)); //调用自己写的字符串函数
printf("字符串长度为%d\n", strlen_self(NULL)); //调用自己写的字符串函数
printf("字符串长度为%d\n", strlen(str)); //调用库中自带的字符串函数
//printf("字符串长度为%d\n", strlen(NULL)); //调用自己写的字符串函数 (程序报错)
return 0;
}
其中我调用了函数库中的方法,形成对比,这样也可以检验自己的程序。我在我自己定义的方法中判断了该指针是否为NULL,但是函数库中的方法应该是没有进行判NULL操作,所以在调用函数库的方法之前,一定需要对字符串进行判NULL操作。