#include<assert.h>
#include<stdio.h>
int my_strlen(const char* strDest)
{
assert(NULL!=strDest);
if('\0'==*strDest)
return 0;
else
return(1+my_strlen(++strDest));
}
int my_strlen1(const char* strDest)
{
assert(NULL!=strDest);
return ('\0'!=*strDest)?(1+my_strlen(strDest+1)):0;
}
int my_strlen2(const char* strDest)
{
if(strDest==NULL)
return 0;
int len=0;
//for(;*strDest++!='\0';)
while(*strDest++)
{
len++;
}
return len;
}
int my_strlen3(const char* strDest)
{
assert(strDest);
const char* p=strDest;
while(*p++);
return p-strDest-1;
}
int my_strlen4(const char* strDest)
{
assert(strDest);
const char *sc;
for(sc=strDest;*sc!='\0';++sc);
return sc-strDest;
}
int main()
{
char* a="abcdefg";
char* b="";
char len,len1;
len = my_strlen4(a);
len1 = my_strlen4(b);
printf("len=%d,len1=%d\n",len,len1);
}
int Mystrlen(constchar*str)
{
int i;
assert(str!=NULL);
for(i=0;str[i]!='\0';i++);
returni;
}