注册 登录
编程论坛 C++教室

怎么算 for 循环里的的递归

fjwddzzc123 发布于 2009-07-19 00:04, 722 次点击
void recurse(int k){
    if(k>=N){
    for( int i=0;i<N;i++){
        cout<<x[i]<<" ";
    }
    cout<<endl;
    }
    else{
    for(int i=1;i<=N;i++){
        x[k]=i;
        if(check(k))
        recurse(k+1);//这边开始又调用 rescurse()函数,那么for循环里的i 是不是又要从1开始算,还是接着算下去 就这边不懂   能解释下吗?
    }
    }
}
recurse(0);
N=20;
4 回复
#2
ningfeng88992009-07-19 09:09
chek(k)程序在哪呀??
#3
hfdss2009-07-19 19:48
回复 楼主 fjwddzzc123
你的程序中,第一个for里面的int i=0;我想就是定义。也就是说,重新定义一个int类型的i,所以我想应该是从头开始。
如果希望继续的话,那么定义一个全局变量吧。
#4
wuyun85362009-07-20 09:05
当然是从1重新开始了!
#5
y_afu2009-07-20 09:18
重头开始算。只是下次调用recurse(k+1);每次实参比上次多1.
1