方法一:指针的方式
#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;
}
本文出自 “moLova” 博客,请务必保留此出处http://molova.blog.51cto.com/10594266/1694307
原文地址:http://molova.blog.51cto.com/10594266/1694307