#include <stdio.h> #include <assert.h> //方法一:使用指针 int my_strlen(const char *str) { assert(str); int count = 0; while (*str++) { count++; } return count; } int main() { char *str = "abcdef"; int len = my_strlen(str); printf("%d\n", len); system("pause"); return 0; } //方法二:递归实现 int my_strlen(const char *str) { if (*str ==‘\0‘ ) { return 0; } else { return 1 + my_strlen(str+1); //str+1 } } int main() { char *str = "abcdef"; //strlen(str) == 1+strlen(str+1)==1+1+strlen(str+1+1) int len = my_strlen(str); printf("%d\n", len); system("pause"); return 0; }
本文出自 “Vs吕小布” 博客,谢绝转载!
原文地址:http://survive.blog.51cto.com/10728490/1710682