方法一:
使用计数器的方法进行统计,最容易想到的方法;
#include <stdio.h> #include <stdlib.h> #include <assert.h> int my_strlen(char *string) { assert(srring!=NULL); int count = 0; char *pstr = string; while (*pstr) { count++; pstr++; } return count; }
方法二:
通过递归的方式是实现(该方法会加大系统开销,效率相对较低);
#include <stdio.h> #include <stdlib.h> #include <assert.h> int my_strlen(char *string) { assert(string != NULL); char *pstr = string; if (*pstr == ‘\0‘) return 0; else return 1 + my_strlen(pstr + 1); }
方法三:
使用指针统计字符串的长度
#include <stdio.h> #include <stdlib.h> #include <assert.h> int my_strlen(char *string) { assert(string != NULL); char *pstart = string; char *pend = string; while (*pend) { pend++; } return pend - pstart; }
时间: 2025-01-07 17:25:47