for循环与递归区别 | c语言

递归程序对空间占用率高,如果值很大,会吃掉所有能用的空间,导致程序非正常终止。

// for循环
void PrintN(int N){
    int i;
    for (i=1; i<=N; i++){
        printf("%d\n", i);
    }
    return;
}

int main(){
    PrintN(1000000);
}
// 递归
void PrintN(int N){
    if (N){
        PrintN(N - 1);
        printf("%d\n", N);
    }
}

int main(){
    PrintN(10000);

猜你喜欢

转载自blog.csdn.net/SanyHo/article/details/107402425