请问下 递归非要返回值吗?

问题描述

请问下 递归非要返回值吗?

请问下 递归非要返回值吗? 如果不要,怎么递归呢?
递归就是方法调用方法,如果不给返回值。。。那怎么递归呢??

解决方案

当然不需要,举例,你有一个treeview,你希望遍历一次,就不要返回值,伪代码如下
void GetChildren(Node node)
{
foreach (item in node.Children)
{
GetChildren(item);
}
}

解决方案二:

不是都要返回值,只要有判断函数是继续递归调用还是返回就好了,这个判断的依据不一定是递归函数的返回值。

解决方案三:

不一定要返回值,你也可以在外部定义监听变量

解决方案四:

不一定啊,随便从我博客找的http://blog.csdn.net/agoniangel/article/details/47054389

解决方案五:

递归总要返回,不然反复递归会导致死循环。

解决方案六:

同意楼上的,没有返回值就无法判断是否要继续递归下去。

时间: 2024-08-31 16:29:25

请问下 递归非要返回值吗?的相关文章

java-JAVA finally内的处理在什么情况下会影响到返回值?

问题描述 JAVA finally内的处理在什么情况下会影响到返回值? 例子如下,返回结果不同,前两个方法为finally没处理前的结果,而后一个方法的返回值为处理后的结果.请问这是为什么. public class Test { public static void main(String[] args) { System.out.println(test1()); System.out.println(test2()); System.out.println(test3()); } priv

c语言scanf()函数的返回值

问题描述 c语言scanf()函数的返回值 c primer plus 一书中,199页的showchar2.c程序中有一行代码是if(scanf("%d %d",&rows,&cols)!=2),请问这里的scanf函数返回值的是参数的个数吗? 解决方案 http://blog.csdn.net/21aspnet/article/details/174326 解决方案二: c语言scanf返回值c语言中 scanf() 和printf()的返回值C语言中的printf

JS模态窗口返回值兼容问题的完美解决方法_javascript技巧

因系统要兼容原IE已使用的关闭方法,经调试测得,需对window.dialogArguments进行再较验,不然易出问题. function OKEnd(vals) { if (vals == null) vals = "TRUE"; if (typeof (window.opener) == "undefined") { if (typeof (window.dialogArguments) != "undefined") { if (wind

wsaewouldblock-vc socket 非阻塞 异步通信 conncect 返回值为WSAEWOULDBLOCK(10035L)

问题描述 vc socket 非阻塞 异步通信 conncect 返回值为WSAEWOULDBLOCK(10035L) vc socket 实现 非阻塞异步通信,在两PC机断开网线的情况下,客户端在connect执行完毕后,返回值不为0,通过WSAGetLastError();总是返回WSAEWOULDBLOCK(10035L)和WSAEALREADY(10037L):在连接网线的情况下,总是先返回WSAEWOULDBLOCK(10035L),然后返回WSAEISCONN(10056L):在连接

求解答-RegOpenKeyEx返回值5 ,请问该如何解决

问题描述 RegOpenKeyEx返回值5 ,请问该如何解决 在MFC中获取注册表键值时,通过 RegOpenKeyEx打开时,返回值5,该如何解决,求大神解答,谢谢! 解决方案 同样的问题,save4me已经回答过了.http://ask.csdn.net/questions/193707 解决方案二: 返回值5的描述是拒绝访问,也不排除是别的原因,比如你试图在uac用户模式下访问local_machine键,那么需要先提升权限. 解决方案三: 对应访问的注册表属性是什么.是不是需要对应权限

接口-请问微信支付支付成功后如何获取所谓notify的返回值

问题描述 请问微信支付支付成功后如何获取所谓notify的返回值 情况其实不复杂,就是有一个地方一直没搞明白.我已经按照demo构成好了xml包,顺利的换取到了prepal_id,也通过js的那个接口,顺利的能弹出输入密码的对话框,也能输入密码并且钱也到了我的账户上来,都OK. 但一直困扰我的是这个:$input->SetNotify_url("http://www.xxxx.com/index.php/aaa/bbb");这一行似乎一直不起作用.因为在调用了获取prepal_i

c-用什么方法可以知道linux下跑的程序的返回值?

问题描述 用什么方法可以知道linux下跑的程序的返回值? 比如 aaa.c main() { return 123; } 编译成aaa 如果 ./aaa 以后,我想获得123,应该怎么做?谢谢各位大神 用C,用shell都行! 解决方案 这种返回值应该是没法知道的,Linux下运行程序是有系统返回值的,就是返回-1 0 之类的代表程序运行正确或者失败,如果可以,你可以加日志之类的将程序返回值打印出来就可以了 解决方案二: 脚本里面,$?就是上次执行的程序的返回值 解决方案三: 用管道就可以了,

请问多线程并发计算,是不是只能通过变量获得返回值?

问题描述 请问多线程并发计算,是不是只能通过变量获得返回值? 请问多线程并发计算,是不是只能通过变量获得返回值?如果不用变量,线程函数里的返回值返回到哪里去了? 解决方案 和你调用一般的函数一样,如果你不用变量接收,那么,这个返回值就被忽略了. 解决方案二: 可以用公共变量,但是要注意冲突,还可以通过发消息,给其他线程

const相关-为什么一个const属性的返回值可以用 非const 型来接受呢?

问题描述 为什么一个const属性的返回值可以用 非const 型来接受呢? const int func() { int j = 8; return j; } int main() {int i = 5 ;i = func(); } 为什么可以翻译通过呢? 解决方案 const int func() 说明函数func()的返回值是一个常数,不想让对象再次被修改,因为const一定是先被初始化的 而在主函数中的:i = func(),只能说明是将一个常数值赋值给一个变量,很正常啊!!! 还不懂的