首页 > 编程语言 > 详细

C++递归实现strlen函数功能

时间:2020-03-23 09:06:54      阅读:48      评论:0      收藏:0      [点我收藏+]

不管是C还是C++编程,strlen函数对于编程者来说再熟悉不过了,strlen(char*)函数求的是字符串的实际长度,它求得方法是从开始直至遇到第一个‘\0‘,如果你只定义没有给它赋初值,这个结果是不确定的,它会从首地址一直找下去,直到遇到‘\0‘停止。如下面举的数组例子

char str[100]; 
cout<<strlen(str)<<endl; //结果是不确定的
 
char str[100] = \0; 
cout<<strlen(str)<<endl; //结果是0
 
char str[100] = "string"; 
cout<<strlen(str)<<endl; //结果是6

今天就利用C++递归实现strlen函数功能(初次写这样的论坛博客,写的不好请见谅)

1、myStrlen.h

#include <iostream>
using namespace std;
#ifndef _MYSTRLEN_
#define _MYSTRLEN_
int myStrlen(const char *str)
{
    if (str == NULL || *str == \0)
        return 0;
    return myStrlen(++str) + 1;
}
#endif

2、Strlen.cpp 

//递归实现strlen函数
#include "myStrlen.h"
int main()
{
    char *string = NULL;
    string = (char *)malloc(RAND_MAX); 
    cout<<"请输入字符串:"<<endl;
    cin >> string;
    cout << "字符串长度为:" << myStrlen(string) << endl;
    system("pause");
    return 0;
}

3、结果测试

技术分享图片

C++递归实现strlen函数功能

原文:https://www.cnblogs.com/hongxm/p/12549658.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!