递归求字符串长度问题,求大神解答

问题描述

递归求字符串长度问题,求大神解答

int length(char * str)
{
if (*str == '')
{
return 0;
}
else
{
return (1+length(++str));
}
}
char str[10]="abcde";
这个递归最后返回来的为什么会是5
不是应该返回0吗
求大神解惑

解决方案

strlen求字符串长度问题

解决方案二:

你还没有理解递归
最后一次是返回0
但是不是返回给main
而是返回给上一次递归
这样上一次递归就是1+0
再返回给上上层2+0
。。。
最后返回5

解决方案三:

这个函数被执行了6次
最后一次(正数第6次)返回0
倒数第二次(正数第5次)返回1+0=1
倒数第三次(正4)返回1+1 = 2
倒数第四次(正3)返回1+2 =3
倒数第五次(正2)返回1+3=4
倒数第六次(正1)返回1+4=5

时间: 2024-09-16 22:07:54

递归求字符串长度问题,求大神解答的相关文章

仿真电路求助!!-求EDA,仿真电路大神解答!!!

问题描述 求EDA,仿真电路大神解答!!! 谁知道这个原件叫什么名字,或者代码是什么??基础库里有没有这个原件?怎么搜索出来 解决方案 示波器.在PROTEUS仪表里,第一个就是,第二个是0-1显示器,和它一样.叫:OSCILLOSCOPE 解决方案二: 示波器.在PROTEUS仪表里,第一个就是,第二个是0-1显示器,和它一样.叫:OSCILLOSCOPE 解决方案三: 四路示波器,显示波形

vc++编程问题-编程实现DFA识别字符串的过程,求大神解答

问题描述 编程实现DFA识别字符串的过程,求大神解答 编程实现DFA识别字符串的过程,1DFA的输入与DFA的存储,确定DFA的数据结构以及存储格式2DFA的正确性检查,看DFA的五元组是否正确,3输入任意一个整数N,DFA的能列表显示其识别的所有长度小于等于N的字符串4DFA的规则字符串判定,输入一个字符串,模拟DFA识别字符串的过程,判定该字符串是否是规则字符串 解决方案 1.dfa算法不是几十行代码可以搞定的: 2.可以使用线程cfa算法库,没有必要自己再实现一个dfa算法.

求各路大神解答C++找字符串并且返回

问题描述 求各路大神解答C++找字符串并且返回 编写一个程序,判定一个字符串是否为另外一个字符串的子串,若是,返回子串在主串中的位置.要求不适用strstr函数,自己编写一个子函数实现. 要求不使用strstr函数. 解决方案 #include<iostream> #include<string> #include<cstring> using namespace std; string a,b; int main() { int i,j,l,f; //输入两个字符串

c语言-C语言版非递归马踏棋盘·死循环了·求大神解答·小弟新手求助

问题描述 C语言版非递归马踏棋盘·死循环了·求大神解答·小弟新手求助 这是出现死循环的代码bool solution(Move move, Pos &beginPos){ if(!move) { printf("solution Failed!"); return false; } int chessBoard[8][8] = {0}; push(move, beginPos); chessBoard[beginPos.mX][beginPos.mY] = 1; int ste

求大神解答关于java string字符串的问题,现有如下要截取,希望按括号分组

问题描述 求大神解答关于java string字符串的问题,现有如下要截取,希望按括号分组 如下字符串:希望每个括号之间的内容分一组变成子字符串,或者输出到文本每个括号之间的内容为一行.丢弃其余的部分 CF --> ('c1,t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t i t

对java中递归问题的输出不理解,求大神解答!谢谢

问题描述 对java中递归问题的输出不理解,求大神解答!谢谢 对于这一段代码我能够理解,压栈然后出栈就是6,5,4 package recursion; public class testRecursion { public static void main(String[] args) { int num=3; recursion(num); } private static void recursion(int n){ n++; if(n<7){ recursion(n); System.o

c++-递归问题求各位大神解答

问题描述 递归问题求各位大神解答 ###代码如下,请问这个递归哪里出问题了,问什么程序没有结果 //根据 P/4=1-1/3+1/5-1/7.... 求P的近似值,要求精度为0.000001 #include"iostream" using namespace std; int Temp(int n){//求-1的n次方 if(n==0)return 1; return -1*Temp(n-1); } double PI(){ double sum=0; double temp=1.0

汇编语言-这个为什么不显示字符串,求大神解答

问题描述 这个为什么不显示字符串,求大神解答 mov ax,msg MOV Dx,ax MOV AH,9 INT 21H jmp $ times 510-($-$$) db 0 db 0x55,0xaa msg: db 'Hello World!' 运行的效果 解决方案 汇编需要定义段.写上伪指令.设好中断等等才能运行,只有指令是不能运行的,你圯汇编整个看完后再找个完整的例子编译下,或者自己把这个例子补充完整

tang-c++编程题,求大神解答............谢谢啦...........

问题描述 c++编程题,求大神解答............谢谢啦........... 在一个数组中首先判断里的自符是否为回文字符,如果是在按其长度排序,若相同长度的则按ASCII码排序(用c++)求大神解救....... 解决方案 花了一小时弄的,,,亲测. #include<iostream> using namespace std; bool judge(char *str); void sort(char *Selected[],int n); int Length(char *str