Member 13015247 Ответов: 2

Рекурсия внутри цикла for


может ли кто-нибудь объяснить, что здесь происходит в этом коде и как весело(x-1)работает внутри цикла for, когда он выходит из цикла for, даже когда цикл for не закончился, это создает огромную путаницу.

Что я уже пробовал:

#include<stdio.h>
int main()
{
    int n,i;
    printf("enter n\n");
    scanf("%d",&n);
    fun(n);
}
int fun(int x)
{int i;
char c='*';
printf("\n");
    if(x>=1){
    for(i=1;i<=x;i++)
    printf("%c",fun(x-1));
    }
    else 
    return c;
}

Patrice T

Никаких репостов, пожалуйста, удалите.
Почему нет ошибки при использовании int[^]

2 Ответов

Рейтинг:
1

Richard MacCutchan

Я уже объяснял это в вашем первоначальном посте этого вопроса.


Рейтинг:
0

CPallini

Рекурсия внутри for как ничего особенного (но очень большой рост). Тем не менее, printf операторы в большинстве случаев будут выводить мусор, потому что в то время как x>0 оператор return не выполняется в fun функция.