1、问题

求字符串长度,实现strlen函数。
 
 
 
 
 

2、代码实现

#include <stdio.h>
#include <assert.h>int get_strlen(char *str)
{assert(NULL != str);return *str == '\0' ? 0 : (1 + get_strlen(++str));
}int main()
{char *str = "chenyu";char str1[10] = "chenyu";char str2[10] = "chengongyu";printf("str length is %d\n", get_strlen(str));printf("str1 length is %d\n", get_strlen(str1));printf("str2 length is %d\n", get_strlen(str2));
}
 
 

3、结果分析和总结

1111deMacBook-Pro:dabian a1111$ vim get_strlen.c
1111deMacBook-Pro:dabian a1111$ gcc -g get_strlen.c -o get_strlen

C和指针之实现strlen函数相关推荐

  1. 【C语言】strlen函数的讲解和模拟实现

    文章目录 strlen函数的讲解 strlen函数的模拟实现 计数器方式 递归的方式 指针减指针的方式 strlen函数的讲解 strlen函数我们应该不陌生,它可以帮助我们求字符串的长度(不包括'\ ...

  2. strlen函数的用法及模拟实现strlen函数的两种方法

    strlen函数的用法及模拟实现strlen函数的两种方法 一.strlen函数的用法 strlen的简单应用 二.指针模拟实现strlen函数 三.递归模拟实现strlen函数 一.strlen函数 ...

  3. C语言strlen函数详解

    strlen函数详解 一.strlen函数简介 1.函数原型 2.注意事项 二.strlen函数模拟实现 1.计数器方式 2.递归实现 3.指针-指针实现 一.strlen函数简介 1.函数原型 si ...

  4. 从*p++说指针,数组,结构和函数

    说明文中*p++和*s++都是一个东西,不做字面上的统一了. 因为右结合性,*p++ 其实就是 *(p++) 1.strlen的实现 #include <stdio.h> main(){c ...

  5. C语言程序设计 练习题参考答案 第七章 (2) 指针与数组 main函数形参

    /*  7.16 实现测试字符串长度函数strlen() */ #include "stdio.h" int strlen(char *p); void main() {     ...

  6. C语言 sizeof 和 strlen 函数区别 - C语言零基础入门教程

    目录 一.sizeof 函数与 strlen 函数区别 1.获取字符串长度 – 针对字符串 2.获取指针/数组长度 – 针对指针/数组 3.sizeof 获取内存大小 4.经典案例 二.猜你喜欢 零基 ...

  7. linux中strlen的用法,实现strlen()函数,strcmp()函数 const知识点

    实现strlen()函数,strcmp()函数 const知识点 发布时间:2020-08-03 05:49:13 来源:51CTO 阅读:576 作者:汇天下豪杰 1.strlen()函数的实现:# ...

  8. C语言中strlen函数功能及用法

    原型:extern int strlen(char *s); 用法:#include <string.h> 功能:计算字符串s的(unsigned int型)长度 说明:返回s的长度,不包 ...

  9. C语言中,strlen()函数与sizeof()运算符的区别以及用法区别

    C语言编程中,会频繁地对数据进行操作. 其中为了防止内存的非法占用,判断数据的长度或者变量的大小是非常有必要的操作. 最常用的就是strlen()函数或者sizeof()运算符. 那么strlen() ...

最新文章

  1. .Net使用Redis详解之ServiceStack.Redis(七)
  2. simulated annealing
  3. pyqt5中信号与槽的认识
  4. java.lang.NoSuchMethodException: tk.mybatis.mapper.provider.base.BaseSelectProvider.<init>()的问题解决
  5. linux查看git是否运行,关于linux:使用脚本检查git分支是否领先于另一个
  6. Kafka消息序列化和反序列化(下)
  7. 三班倒有害健康,建议六班倒
  8. 【Matlab取整函数】
  9. Tomcat安装及配置教程(超详细的图文教程)
  10. magisk卸载内置软件_红米Note7 MIUI12 10.15版 主题和谐 Magisk 省电稳定 迅雷会员
  11. win10快速关机_如何实现Windows定时关机(win7/win10)
  12. 无线网络经常掉线的12种情况
  13. poj 2536 Gopher II
  14. 2019年安徽大学ACM/ICPC实验室新生赛
  15. 替换node-sass为dart-sass
  16. 蓝桥杯单片机(九)DS18B20温度测量(四位小数和负数显示)
  17. java中什么叫服务?
  18. MySql自定义函数的定义和使用
  19. 平面设计中的网格系统pdf_【200421】平面设计必看书籍超越平凡的设计平面设计中的网格系统等|电子书资源免费分享...
  20. jQuery实现拼图小游戏(实操案例)

热门文章

  1. WPF DataGrid 通过自定义表头模拟首行固定
  2. windows 服务实现定时任务调度
  3. C#序列化与反序列化详解
  4. B 站面试官:“啥是重定向?”
  5. MIPS投RISC-V是龙芯新征程的开始
  6. 【Git】Git-常用命令备忘录(一)
  7. Dotnet Core使用特定的SDKRuntime版本
  8. Azure DevOps+Docker+Asp.NET Core 实现CI/CD(三.实现CD持续部署管道)
  9. 如何构建基于.NET Core和云环境下的微服务技术体系?
  10. Natasha v2.5.4 版与运行时实战