学科分类
目录
C语言

自定义计算字符串长度函数

strlen()函数用于计算字符串长度,根据该函数的功能与声明,下面自定义实现与其功能相同的函数calStr(),具体如例1所示。

例1 calStr.c

 1  #include <stdio.h>
 2  unsigned int calStr(char* s)
 3  {
 4    int len=0
 5    if (s == NULL)//容错处理
 6    {
 7      printf("calStr():错误!空字符串\n");
 8      return -1;
 9    }
 10   else
 11   {
 12     while (*(s++) != '\0')//长度计算
 13       len += 1;
 14   }
 15   return len; 
 16 }
 17  
 18 int main()
 19 {
 20   char* str = "Itcast";
 21   char str1[] = "czbk";
 22   printf("%d\n",calStr(str));
 23   printf("%d\n",calStr(str1));  
 24   return 0;
 25 }

例1运行结图1所示

图1 例1运行结果

在例1中,calStr()函数除了函数名与strlen()函数不一样之外,函数参数、函数类型、函数返回值是一致的。第5~9行代码做了容错处理,防止传入的字符指针为空。。第10~14行代码,如果传入的字符指针不为空,则通过while循环判断指针指向的字符是否为‘\0’,如果不为‘\0’,使len加1。之后使指针自增,判断下一个字符是否为‘\0’…,如此循环,直到指针指向的字符为‘\0’,循环结束。第15行代码使用return关键字将len返回。第20~21行代码分别定义两个字符串str、str1;第22~23行代码调用calStr()函数计算两个字符串长度,并通过printf()函数将返回的字符串长度打印出来。由图1可知,calStr()函数准确计算出了两个字符串长度。

点击此处
隐藏目录