题目:模拟实现strlen函数
非递归方式:主要是借助计数器的方式,利用指针移动一个一个数字符个数,直到遇到末尾的\0截止
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
//非递归实现strlen
int Strlen(const char*str)
{
assert(str);
int count = 0;
while (*str!='\0')
{
count++;
str++;
}
return count;
}
int main()
{
char*p = "abc";
int lenth = Strlen(p);
printf("%d", lenth);
system("pause");
return 0;
}
递归方式:
//递归实现strlen
int Strlen(const char*str)
{
assert(str);
if (*str=='\0')
{
return 0;
}
return 1 + Strlen(str + 1);
}