C语言 模拟实现strlen函数
strlen 函数
strlen函数是求字符串的长度,具体用法观看一下代码讲解。
char arr[4]="abc";
int len=strlen(arr);
printf("%d",ret);
//打印的 3
//因为在字符串的最后面有有一个字符'\0';
//strlen函数遇到字符'\0'时会停止
模拟书写strlen函数,且创建临时变量
思路: 指针放在字符串的首地址处,一个一个字符的查找,每找到一个非’\0’的字符,就进行一次计数,直到找打’\0’;
#include<stdio.h>
int my_strlen(char* str)
{
//注意这里的时char* str,传入的是数组的首地址
int count=0;
while(1)
{
if(*str='\0')
{
count++;
//每找的一个字符不是'\0',count就++一次
str++;
//每找完一个字符,指针向有移动,查看下一个字符。
}
else
{
return count;
}
}
}
int main()
{
char ch[]="abc";
int ret=my_strlen(ch);
printf("%d",ret);
return 0;
}
模拟书写strlen函数,且不创建临时变量
递归思想:
my_strlen("abc");
1+my_strlen("bc");
1+1+my_strlen("c");
1+1+1+my_strlen("\0");
1+1+1+0
#include<stdio.h>
int my_strlen()
{
if(*str!='\0')
{
return 1+my_strlen(1+str);
}
else
{
return 0;
}
}
int main()
{
char ch[]="abc";
int ret=my_strlen(ch);
printf("%d",ret);
return 0;
}
学的不是技术,更是梦想。
还没有评论,来说两句吧...