思路:以’\0’为结束标志,否则每移动一个元素,长度加1
//递归实现
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int my_Strlen(char* string) {
static int count = 0;
if (*string=='\0'){
return count;
}
count++;
return my_Strlen(++string);
}
int main() {
char* string = "abcde";
printf("长度是:%d\n", my_Strlen(string));
system("pause");
return 0;
}
//非递归实现
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int my_Strlen(char* string) {
int count = 0;
while (*string != '\0') {
count++;
string++;
}
return count;
}
int main() {
char* string = "abcde";
printf("长度是:%d\n", my_Strlen(string));
system("pause");
return 0;
}