所以我在这个程序挣扎,我试图找出如何使用一个 声明为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