题目求:字符串长度的函数
1.计数器
思路:创建一个my_strlen函数,传址调用,把数组首元素地址传过去,如果地址指向的元素不等于‘\0’, 则计数器加一;
//1.计数器
#include<stdio.h>
#include<string.h>
int my_strlen(char* s)
{
int count = 0;
while (*s != '\0')
{
count++;
s++;
}
return count;
}
int main()
{
char arr[] = "abc";
int len = my_strlen(arr);
printf("%d\n", len);
return 0;
}
2.递归
求字符串长度的函数
3.指针-指针的方法
思路:创建一个my_strlen函数,传址调用,把数组首元素地址传过去,如果地址指向的元素不等于‘\0’, 则指针变量自增,直到指针变量*s指向'\0',终止循环,用尾元素地址减去首元素地址等于字符串的长度;
#include<stdio.h>
#include<string.h>
//3.指针-指针的方法
int my_strlen(char* s)
{
char* start = s;
while (*s != '\0')
{
s++;
}
return s - start;
}
int main()
{
char arr[] = "abc";
int len = my_strlen(arr);
printf("%d\n", len);
return 0;
}