在c语言中,众所周知有strlen可以求字符串长度,而本文意在介绍其他的求字符串长度
如下
#includeint main() { //strlen 求字符串长度 int len = strlen("abcdef"); printf("%dn", len); return 0; }
可以得出此字符串的长度为 6
本文意在介绍其他的求字符串长度 因为在一些编程题目中 显然是禁用”strlen“函数
方法一
构建函数”my_strlen“,并实现定义,从第一个字母找” “,直到找到” “为止
int my_strlen(char*str)
{
int count = 0;
while (*str != ' ')
{
count++;
str++;
}
return count;
}
int main()
{
int len = my_strlen("abcdef");
printf("%dn", len);//6
return 0;
}
仍可以可以求出此字符串的长度为 6
方法二
此方法运用了指针的简单知识 进行指针相减
首先也是定义函数”my_strlen“也是从一个字母找” “,直到找到” “为止
而这个方法主要的还是 str-start 这一部
start数组名就是数组的第一个元素
而最后的str是把所有元素从第一个开始找查” “
相减就是中间的个数
int my_strlen(char*str)
{
char*start = str;
while (*str != ' ')
{
str++;
}
return str - start;//这里运用指针相减
}
int main()
{
int len = my_strlen("abcdef");
printf("%dn", len);//6
return 0;
}
运行结果觉如下



