赞
踩
字符串是以‘\0’作为结束标志,strlen函数的返回值是‘\0’前面的字符串的个数(不包括‘\0’)
注意
1,参数指向的字符串必须以‘\0’结束
2,函数的返回值必须以size_t,是无符号的
使用代码
-
- #include<stdio.h>
- #include<string.h>
- int main()
- {
- char arr[] = "abcdef";
- int a = strlen(arr);
- printf("%d", a);
- return 0;
- }
-
-
结果运行
strlen模拟实现
方法1
- int my_strlen(const char * str)
- {
- int count = 0;
- assert(str);
- while(*str)
- {
- count++;
- str++;
- }
- return count;
- }
方法2
- int my_strlen(const char * str)
- {
- assert(str);
- if(*str == '\0')
- return 0;
- else
- return 1+my_strlen(str+1);
- }
方法3
- int my_strlen(char *s)
- {
- assert(str);
- char *p = s;
- while(*p != ‘\0’ )
- p++;
- return p-s;
- }
整体代码
- #include<stdio.h>
- #include<assert.h>
- int my_strlen(char* arr)
- {
- assert(arr);
- char* p = arr;
- while (*p!= '\0')
- p++;
- return p - arr;
- }
-
- int main()
- {
- char arr[] = "abcdef";
- int a = my_strlen(arr);
- printf("%d", a);
- return 0;
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。