/*使用for循环+指针来实现*/
int strlen1(const char* str){
const char* s ;
for(s=str;*s;s++);
return (s-str);
}
/*使用for循环来实现*/
int strlen2(char str[]){
int i;
for(i=0;str[i];i++);
return i;
}
/*使用while循环+指针来实现*/
int strlen3(char str[]){
char* s =str;
while(*s)
s++;
return (s-str);
}
/*使用递归来实现*/
int strlen4(char str[]){
if(*str)
return strlen4(str+1)+1;
else
return 0;
}
//测试代码:
int main() {
// char s[10] ;
char* s = "hello,world" ;
int l = strlen4(s);
printf("%d\n",l);
return 0;
}
转载于:https://blog.51cto.com/thinkerfans/1272855