方法一:指针的方式

#include <stdio.h>

#include <stdlib.h>


int my_strlen(const char *str)

{

char *tmp = str;        //用tmp保存原指针的地址

while (*str)            //str++直到‘\0’

{

str++;

}

return str - tmp;      //两个指针相减,得到字符长度

}

int main()

{

char *p = "bit";

printf("%d\n", my_strlen(p));

system("pause");

return 0;

}

方法二:计数器方式

#include <stdio.h>


int my_strlen(const char *ptr)

{

int len = 0;

while (*ptr)

{

len++;    //读取一个字符串,计数器+1

ptr++;

}

return len;

}


int main()

{

char p[] = "abcdefg";

printf("%d\n",my_strlen(p));

return 0;

}

方法三:数组

#include <stdio.h>

#include <stdlib.h>


int main()

{

char arr[]="hdffkfefewf";

int len = sizeof(arr) / sizeof(arr[0]);

char *pstart = arr;

char *pend = arr + len;

printf("%d\n",pend - pstart);

system("pause");

return 0;

}