#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; }