Программирование на Си - Два цикла для рекурсии

Я пытался сделать рекурсивную функцию, которая смоделирует два цикла for. Итак, функция должна была бы сделать это:

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

но я хочу, чтобы это было рекурсивно. Я попробовал что-то вроде:

int recursion(int n, int i, int j)
{
    if(i<n)
    {
        if(j<n)
        {
            printf("%d %d\n", i, j);
            recursion(n, i+1, j+1);
        }
        recursion(n, i+1, i+1+1);
    }
}

Я бы назвал рекурсивный в основном как

recursion(10, 0, 1);

но вывод не одинаков для этих двух версий функции. Может кто-нибудь сказать мне, где я ошибаюсь с рекурсивным?

Ответы на вопрос(3)

Ваш ответ на вопрос