Программирование на Си - Два цикла для рекурсии
Я пытался сделать рекурсивную функцию, которая смоделирует два цикла 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);
но вывод не одинаков для этих двух версий функции. Может кто-нибудь сказать мне, где я ошибаюсь с рекурсивным?