#include<stdio.h>
#include<string.h>//使用strlen函数时
#include<assert.h>//使用assert函数时
strlen----必须用\0,且计算长度时不计算\0
注意:strlen返回值是size_t,是无符号数,所以,strlen无法识别负号
例:
//int main()
//{
// if (strlen("abc") > strlen("abcdef"))//应该为-3,但是
// {
// printf(">\n");//打印结果为> 因为strlen无法识别负号
// }
// else
// {
// printf("<\n");
// }
// return 0;
//}
//
//
1.计算器法
//int my_strlen(const char* str)//锁定str,使str不能被改变
//{
// int count = 0;
// int i = 0;
// assert(str != NULL);//判断str是否为空指针
// while (*str != '\0')//只能用'\0'
// {
// count++;
// str++;
// }
// return count;
//}
//int main()
//{
// char arr1[] = "abc";
// char arr2[] = { 'a','b','c' };
// int len1 = strlen(arr1);
// int len2 = strlen(arr2);
// int len3 = my_strlen(arr1);//自制函数求字符串长度
// printf("%d\n", len1);//3 因为""自带\0,停止
// printf("%d\n", len2);//33 因为没有\0,不会停止
// printf("%d\n", len1);//3 自制strlen的打印
// return 0;
//}
1.计数器版本
2.递归版本
3.指针-指针