1.遍历字符串,只要不遇到字符0,计数器就加1. int my_strlen(const char *str)//加const修饰更安全 { int count=0; while(*str) { count++; str++; } return count; } 2.递归实现 int my_strlen(const char *str) { while(*str) { return 1+my_strlen(str+1); } return 0; } 3.地址相减 int my_strlen(const char *str) { char *start=str; while(*str) { str++; } return str-start;//起始位置的地址—末尾位置的地址 = 个数 }