首页 > 其他分享 >编写函数,不允许创建临时变量,求字符串的长度。

编写函数,不允许创建临时变量,求字符串的长度。

时间:2022-11-08 18:38:45浏览次数:49  
标签:arr 变量 int my len str 字符串 编写 strlen

#include<stdio.h>

#include<string.h>

int  my_strlen(char  *str)

{

int count=0;//计算字符串的长度

while(*str!='\0')  //递归的条件,应该是if,但是if不能实现循环,所以while

{

count++;

str++;

}

return  count;

}

int  main()

{

char  arr[]="bit";

int len=my_strlen(arr);

printf("len=%d\n",len);

return  0;

}

好了,看到这里了,问题解决了。哈哈哈,那你中招了,看一下题目,不允许创建变量(我们创建了count)。所以重开吧。不要着急,你再仔细看看。


#include<stdio.h>

#include<string.h>

int  my_strlen(char  *str)

{

if (*str!='\0') 

{

return 1+my_strlen(str+1);

}

else

return  0;

}

int  main()

{

char  arr[]="bit";

int len=my_strlen(arr);

printf("len=%d\n",len);

return  0;

}

其实对比上面两个,还是有异曲同工之妙的,至少它们的主体还是一样的,下面运用了函数的递归,并且没有创建变量。

标签:arr,变量,int,my,len,str,字符串,编写,strlen
From: https://blog.51cto.com/u_15806064/5834156

相关文章

  • Leetcode练题系列(六): 字符串相关的算法
    LeetCode  ​​英文官网(推荐)​​  ​​中文官网​​  从2016年大二左右开始就接触算法,起初也简单练习过,但现在工作一段时间后,随着代码水平的提高(​​自我感觉​​)......
  • 如何像高级 JavaScript 开发人员一样为一般流程编写高阶函数
    英文|https://betterprogramming.pub/writing-high-order-functions-for-general-process-like-a-senior-javascript-developer-4d025baa3dc6翻译|杨小爱我们知道函数是......
  • 4 个编写JavaScript代码的关键原则
    英文|https://javascript.plainenglish.io/4-key-principles-to-writing-readable-and-efficient-javascript-code-1d022b685b3fJavaScript是一种非常灵活的编程语言,您可......
  • oracle添加字符串连接聚合函数wm_concat
    自从oracle新版废弃了wm_concat函数后,各种不方便,网上搜索到的自定义聚合函数也是问题多多,例如用varchar2(32767)定义返回值类型,4000会超,32767不一样会超吗?所以最终用clob类......
  • 用 JavaScript 编写枚举的最有效方法
    英文|https://betterprogramming.pub/the-most-efficient-way-to-write-enumerations-in-javascript-a1b9f41ea651JavaScript语言本身不支持枚举。如果我们想模拟枚举,我......
  • 问题 N: 零基础学C/C++159——最长字符串
    题目一点也不难哦,就是要学会二维数组的输入输出但是不知为何这题有一个很奇怪的坑,如果你是AC:83%那么恭喜你掉坑里了!!这道题目竟然有一个检测点在最后的时候加\n确实......
  • addEventListener 监听不到 改变后的全局变量的值
    问题原因:addEventListener和data的作用域不一样,以及 addEventListener里面拿的永远是最初的数据。解决方法:用ref来存储数据,让需要的数据保持最新需求:监听页面点......
  • 湍流数组 双指针+数学 奇偶分数组 字符串
    978.最长湍流子数组dp[0][0]=dp[0][1]=1;初始化一个数for(inti=1;i<n;i++){dp[i][0]=dp[i][1]=1;if(arr[i]>arr[i-1]){dp[i][0]=dp[i-1][1......
  • 常量和变量
    变量可以改变的量,往往用英语字母代替变量,并且区分大小写;定义声明var加字母,比如:;变量的用途其实是一个容器,它的作用在于可以起到一个临时存储数据。变量其实只......
  • java基础(三)----字符串
    目录一、字符与整数的联系——ASCII码二、Srting类1、初始化2、String具有只读性,不能修改3、访问String类型的字符4、常用API三、StringBuilderStringBuffer一、字符与整......