求字符串长度strlen函数和自制strlen函数实例及应用

简介: 求字符串长度strlen函数和自制strlen函数实例及应用
#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.指针-指针

15536f14308c407ea8064b89d5b4421a.png

相关文章
|
6月前
[字符串和内存函数]strcmp字符串函数的详解和模拟
[字符串和内存函数]strcmp字符串函数的详解和模拟
51 1
|
6月前
|
编译器 C语言
【C语言】strlen()函数(字符串长度计算函数)
【C语言】strlen()函数(字符串长度计算函数)
74 0
|
6月前
|
C语言
[字符串和内存函数]strcpy和strncpy的区别
[字符串和内存函数]strcpy和strncpy的区别
56 0
|
6月前
|
C语言
[字符串和内存函数]strcmp和strncmp以及memcmp的区别
[字符串和内存函数]strcmp和strncmp以及memcmp的区别
132 0
|
5月前
|
C语言
C语言学习记录——模拟字符串相关函数(strcpy、strlen、strcat)相关知识-const、typedef
C语言学习记录——模拟字符串相关函数(strcpy、strlen、strcat)相关知识-const、typedef
30 1
|
6月前
|
Java 编译器 C语言
深入了解字符(串)函数 -- -- 字符(串)函数的实现(strlen、strcpy、strcmp、strcat、strstr、)内存函数的实现(memcpy、memmove)
深入了解字符(串)函数 -- -- 字符(串)函数的实现(strlen、strcpy、strcmp、strcat、strstr、)内存函数的实现(memcpy、memmove)
45 0
|
6月前
|
存储 编译器 C语言
strlen函数详解
strlen函数详解
197 2
|
6月前
|
PHP C++
[字符串和内存函数]strcpy和strlen字符串函数的详解和模拟
[字符串和内存函数]strcpy和strlen字符串函数的详解和模拟
64 0
|
6月前
|
C语言
[字符串和内存函数]strcat和strncat的区别
[字符串和内存函数]strcat和strncat的区别
55 0
|
编译器 C语言
【C语言进阶】字符函数及字符串函数,带你掌握核心用法并模拟实现(1)——strlen,strcpy,strcmp
【C语言进阶】字符函数及字符串函数,带你掌握核心用法并模拟实现(1)——strlen,strcpy,strcmp
150 1