目录

  • 1 题目
  • 2 分析
    • 2.1 方法1-常规方法
    • 2.2 方法2-递归方法
  • 3 实现
    • 3.1 实现1-常规方法
    • 3.2 实现2-递归方法

1 题目

写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。

2 分析

我们知道在string.h中有库函数strlen函数,他的使用方法如下:

char str[] = "hello";
printf("str字符串的长度为:%d", strlen(str));

现在要自己编写统计字符串长度的函数,就要知道字符串判断结束的原理是通过判断\0字符串结束符来实现的

2.1 方法1-常规方法

设置计数器count逐一判断字符是否等于\0,若不等于则计数器+1,当循环到\0时,退出循环,并返回计数器count即可,见实现1

2.2 方法2-递归方法

递归的目的是计算字符串长度,递归的退出条件是遇到\0,递归的递推公式是1+myStrlen(str + 1),即遇到\0就返回0,若不是\0则进行递归将字符串指针向前移动一个位置,见实现2

3 实现

3.1 实现1-常规方法

int StrLength(char *str)
{int count = 0; // 字符串长度while (str[count] != '\0') {count++;}return count;
}

3.2 实现2-递归方法

int StrLength(char *str)
{if (*str == '\0') {return 0;} else {return 1 + Strlen(str+1);}
}

C语言经典例70-编写求字符串长度函数相关推荐

  1. C语言 详解如何编写闪烁显示字符串的函数

    如果要实现指定字符串在标准输出流(一般为显示器)上闪烁,可以定义如下函数: void bput(const char*s,int appe,int disa,int repe) 字符串s出现appe秒 ...

  2. php求字符串长度函数是,PHP中获取字符串长度的函数是 。

    [判断题]探索精神不属于创新精神的表现? [单选题]从结构分类上,5-FU是( )类的抗代谢物 [单选题]当前占跨境电子商务比重较低,但增长最为迅速的是哪一部分 [多选题]要降低树木栽植后蒸腾作用以提 ...

  3. Bailian2681 求字符串长度【字符串】

    求字符串长度 总时间限制: 1000ms 内存限制: 65536kB 描述 求一个长度不大于100的字符串的长度,要求不使用strlen方法,并且使用到字符指针. 输入 输出 字符串的长度. 样例输入 ...

  4. 25.请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字 符串。

    25.请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串.若两个字符串长度相同,则返回第一个字 符串. 例如,输入:beijing ...

  5. c语言中用于获取字符串长度的函数是,C语言中求字符串长度的函数的几种实现方法...

    C语言中求字符串长度的函数的几种实现方法 1.最常用的方法是创建一个计数器,判断是否遇到'\0',不是'\0'指针就往后加一. int my_strlen(const char *str) { ass ...

  6. C语言经典例98-将字符转为大写字母并写入文件

    目录 1 题目 2 分析 3 实现 1 题目 从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件"test"中保存. 输入的字符串以!结束. 2 分析 写入 ...

  7. C语言试题三十三之比较两个字符串的长度,(不得调用c语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。

    1. 题目 请编写函数function,它的功能是:比较两个字符串的长度,(不得调用c语言提供的求字符串长度的函数),函数返回较长的字符串.若两个字符串长度相同,则返回第一个字符串. 2 .温馨提示 ...

  8. C语言经典例19-完数

    目录 1 题目 2 分析 3 实现 4 运行结果 1 题目 一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. 因子:假如整 ...

  9. C语言中求字符串长度的函数my_strlen()的几种实现方法

    C语言中求字符串长度的函数的几种实现方法 1.最常用的方法是创建一个计数器,判断是否遇到'\0',不是'\0'指针就往后加一. int my_strlen(const char *str) {asse ...

  10. 【C语言典例】:倒置字符串

    [C语言典例]:倒置字符串 文章目录 [C语言典例]:倒置字符串 输入描述: 输出描述: 输入 输出 全部代码 结束语 链接: https://www.nowcoder.com/questionTer ...

最新文章

  1. ramdisk plus v11.5安装内存虚拟硬盘
  2. iOS设置UIWebView的UserAgent
  3. 为什么当代人越来越不快乐?
  4. ServiceStack学习之一准备工作
  5. phpstudy mysql创建表_MySQL_Mysql入门基础 数据库创建篇,1.创建数据表---基础(高手跳 - phpStudy...
  6. 1.2 Coin 项目
  7. ASP.NET 页面验证cookie
  8. Python——format()/str.format()函数
  9. linux 内存对齐,Windows和Linux下的字节对齐(转载)
  10. [Offer收割]编程练习赛48
  11. 信息安全习题(含答案)
  12. 计算机系统的确认与验证,确认与验证(指南).pdf
  13. 蓝桥杯应该参加吗?如何准备蓝桥杯?
  14. 海湾gst5000协议号_海湾GST5000主机操作说明
  15. 漫画 | 如何让程序员顺利入坑?
  16. 从一到无穷大 #5 公有云时序数据库定价
  17. 产品能力提升|互联网产品·视觉设计
  18. 激活时显示图片上传资源服务器失败,720全景图上传时提示“切图失败”的处理办法...
  19. java计算机毕业设计-高中辅助教学系统-源程序+mysql+系统+lw文档+远程调试
  20. 机器人总动员主角简笔画_机器人总动员简笔画

热门文章

  1. 面试/一些思维发散的题(带参考回答)每日一份题
  2. printf() 输出数据格式汇总
  3. 网络七层协议与网络四层协议
  4. Python 九九乘法表打印
  5. android打印机字体大小,打印自定义文档  |  Android 开发者  |  Android Developers
  6. Sublime Text 3.0安装及破解汉化
  7. API接口自动化测试框架搭建(二)-详细设计框架设计
  8. 软件测试人员能力模型
  9. 计算机二进制乘法运算(原码,补码)
  10. bin文件夹下的roslyn文件夹