所以我在這個程序掙扎,我試圖找出如何使用一個 聲明爲main的指針數組,在遞歸函數中記住數據, 出現的問題這裏是如果它是一個單一的指針相同的方法,那麼對於一個結構類型呢? 通過引用變量/數組傳遞給遞歸函數的最佳方式是什麼?c傳遞指針遞歸函數
#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度的增量(當作爲參數傳遞),
該代碼將無法編譯。你還沒有初始化'cnt'指向任何內存。 – 2012-01-31 00:49:40