Так что здесь я борюсь с этой программой, я пытался выяснить, как я могу использовать массив указателей, объявленных в main, в рекурсивной функции для запоминания данных, здесь возникает вопрос, если это такой же подход, какдля одного указателя, а как насчет типа структуры?Каков наилучший способ передать ссылку / массив на рекурсивную функцию?
#include <stdio.h>
#include <stdlib.h>
#define N 1
void f(int i,int j,int *cnt);
int j=0;
int main(int argc, char *argv[])
{
int *cnt=0;
f(0,++j,&cnt);
printf("------ %d ---- \n",cnt);
system("PAUSE");
return 0;
}
void f(int i,int j,int *cnt){
if(i>N){
printf("---if --- %d ---- %d \n",i,j);
(*cnt)++;
return;
}
(*cnt)++;
printf("---bg --- %d ---- %d \n",i,j);
f(i+1,++j,cnt);
f(i+1,++j,cnt);
}
Еще одна вещь, которую я хотел бы знать, - как рекурсивные функции обрабатывают ++ i, i ++ и i+1 шаг (при передаче в качестве параметров),