int strlen(char *p);的实现(不开辟任何空间)
来源:互联网 发布:云网络验证 编辑:程序博客网 时间:2024/06/10 23:09
#include<stdio.h>int strlen(char *p) {if(p == NULL) {return 0;} else if(*p == 0) {return 0;}else {return 1 + strlen(p+1);}}int main(void) {char a[] = "fhgfdgc";int len;len = strlen(a);printf("%d\n",len);return 0;}
主要就是递归的思想。最后如果是return 1 + strlen(p++)程序陷入死循环,因为函数先调用p,然后p指针才++,实际是形参p一直得不到改变。
阅读全文
0 0
- int strlen(char *p);的实现(不开辟任何空间)
- 不用任何局部和全局变量实现int strlen(char *a)
- 不用任何局部和全局变量实现int strlen(char *a)
- int *p=12这里是不可以这样做的,指针要开辟空间
- 不使用任何中间变量实现strlen
- 不使用任何中间变量实现strlen
- 不使用任何辅助变量实现strlen(递归实现strlen)
- c/c++ int atoi(char *p)的实现
- 大数相加(不开辟额外空间)
- 借刀杀人,不使用任何中间变量实现strlen
- 借刀杀人,不使用任何中间变量实现strlen
- 借刀杀人,不使用任何中间变量实现strlen
- char *p = NULL,int *p = NULL的区别
- int strlen(const char *str)
- N*N矩阵的旋转 不开辟新空间
- 不使用任何变量编写是strlen函数(递归)
- 【算法拾遗】大数相加(不开辟额外空间)
- char *p 和 cha'r p[10]的区别/sizeof和strlen的区别
- Hashtable的实现原理
- es6-函数
- 51Nod 独木舟
- C++网站开发MVC框架TreeFrog Framework教程——7.ERB模板
- angularjs $http实现get和post请求
- int strlen(char *p);的实现(不开辟任何空间)
- 如何在串口调试助手上,使用printf()函数显示十进制的数据及汉字说明(c语言版)
- VUE —— 结构渲染
- Python闭包、函数式编程、装饰器深入理解
- 最经济synchronized锁对象
- servlet生命周期
- 数字证书和数字签名概念小结
- 大数据时代的技术hive:hive介绍
- POJ1486_Sorting Slides_二分图匹配必须边