方法一:
使用計數器的方法進行統計,最容易想到的方法;
#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; }