#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.指针-指针