模拟实现strlen函数
来源:互联网 发布:机电专业就业前景 知乎 编辑:程序博客网 时间:2024/05/21 21:23
字符串函数在我们编程之时,给我们提高了极大的方便,使得我们的代码清晰,明了,在平常,我们是极少需要编写自字符串函数的,但是,如果自己可以动手实现这些函数,对我们理解这些函数,有极大的帮助。
下面,我们用三种方式实现strlen函数:
方式一:计数器方法
int my_strlen(const char *arr){ assert(arr!=NULL); int count = 0; while (*arr != '\0') { count++; arr++; } return count;}int main(){ char arr[] = "abcdef"; int ret = 0; ret = my_strlen(arr); printf("%d\n", ret); system("pause"); return 0;}
将其简化,使得程序看起来更加简洁,代码如下:
int my_strlen(const char *arr){ assert(arr!=NULL); int count = 0; while (*arr++!= '\0') { count++; } return count;}int main(){ char arr[] = "abcdef"; int ret = 0; ret = my_strlen(arr); printf("%d\n", ret); system("pause"); return 0;}
第二种方法:指针减指针
int my_strlen(const char *arr){ assert(arr != NULL); const char* end = arr; while (*end) { end++; } return end-arr;}int main(){ char arr[] = "abcdef"; int ret = 0; ret = my_strlen(arr); printf("%d\n", ret); system("pause"); return 0;}
将其简化
int my_strlen(const char *arr){ assert(arr != NULL); const char* end = arr; while (*end++) { ; } return end - arr-1;}int main(){ char arr[] = "abcdef"; int ret = 0; ret = my_strlen(arr); printf("%d\n", ret); system("pause"); return 0;}
方法三:利用递归的方法
int my_strlen(const char *arr){ assert(arr != NULL); const char* end = arr; while (*end) { end++; 1 + my_strlen(end); } return end - arr;}int main(){ char arr[] = "abcdef"; int ret = 0; ret = my_strlen(arr); printf("%d\n", ret); system("pause"); return 0;}
实现库函数,不仅有利于我们对知识的掌握,更有利于我们清楚在平常使用这些函数的注意点,增强我们的学习技能。
阅读全文
0 0
- 模拟实现strlen函数
- 模拟实现strlen函数
- ##模拟实现strlen函数
- 模拟实现strlen函数
- 模拟实现strlen函数
- 模拟实现strlen函数
- 模拟实现strlen函数
- 模拟实现strlen函数
- 模拟实现 strlen 函数
- 模拟实现strlen()函数
- 模拟实现strlen,strcpy函数
- strlen函数的模拟实现
- 模拟实现strcpy、模拟实现strlen、模拟实现strstr函数
- C语言::模拟实现strlen函数
- 三种方式模拟实现strlen函数
- C语言,模拟实现strcpy、strlen函数
- 模拟实现strlen函数(二)
- 【c语言】模拟实现strlen函数
- Tensorflow系列三:深度神经网络和MNIST数字识别
- 前端ajax与后端php数据传输总结
- HPU G
- 常用几个框架比较
- JAVA中equals方法使用
- 模拟实现strlen函数
- Hibernate实体类操作(二)简单增删改操作
- js中this的理解
- 印刻学院_SEO优化
- 第二十天网络编程
- get/set方法
- HDU 4424 Conquer a New Region——并查集
- 对DC中parallel_case的理解
- Linux 开启防火墙和开启指定端口命令