目录
1.运用指针和计数器来实现求字符串的长度
2.运用地址的相减来计算字符串长度
3.递归方法求字符串长度,可以做到不创建临时变量
1.运用指针和计数器来实现求字符串的长度
int my_strlen(char* str)
{int count = 0;while (*str != '\0'){count++;str++;}return count;
}
函数的参数是指针,我们得到字符串的起始地址,然后定义一个计数器,我们知道字符串是"\0"结尾的,所以我们从起始位置往后找"\0",每找一次计数器+1,最后返回count;
2.运用地址的相减来计算字符串长度
int my_strlen(char* str)
{char* start = str;//将起始地址赋给start变量while (*str != '\0'){str++;}return (str - start);}
由于地址与地址相减得到的结果的绝对值是元素个数,所以我们可以用末尾的地址减去起始地址就可以得到字符串长度;
3.递归方法求字符串长度,可以做到不创建临时变量
int my_strlen(char* str)
{if (*str != '\0')return 1 + my_strlen(str + 1);else{return 0;}
}
像剥洋葱一样层层递归,可以不用创建临时变量,但是运行效率慢;