Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 将函数迭代转换为递归_C - Fatal编程技术网

C 将函数迭代转换为递归

C 将函数迭代转换为递归,c,C,如何将这个迭代函数传递给递归函数 void triangulo(int max) { int i, j; for(i = 1; i <= max; i++) { for(j = 0; j < i; j++) printf("%d", j + 1); printf("\n"); } } void triangulo(int m

如何将这个迭代函数传递给递归函数

void triangulo(int max)
    {
        int i, j;
        for(i = 1; i <= max; i++)
        {
            for(j = 0; j < i; j++)
                printf("%d", j + 1);
            printf("\n");
        }
    }
void triangulo(int max)
{
int i,j;

对于(i=1;i试试这个:这里我把
i
j
作为参数,因为在每个递归中它们有不同的值

void triangulo(int max,int i,int j) //make i and j as arguments
{
    if(i<max)
    {
        if(j<max)
        {
            printf("%d",j);
            triangulo(max, i, ++j);//dont use post increment operation
        }
        else
        {
            printf("\n");
            triangulo(max , ++i, 0);
        }
    }
}
void triangulo(int max,int i,int j)//将i和j作为参数
{

如果(i我希望下面的链接可能会有所帮助:


更改为
如果
的分支是最后一个案例和函数调用,请您可以用伪代码执行。我想完全递归执行。您可以更精确一些吗?如果不使用任何loop@cherokt更新…我希望这有帮助:)。非常感谢
void triangulo(int max,int i,int j) //make i and j as arguments
{
    if(i<max)
    {
        if(j<max)
        {
            printf("%d",j);
            triangulo(max, i, ++j);//dont use post increment operation
        }
        else
        {
            printf("\n");
            triangulo(max , ++i, 0);
        }
    }
}