递归实现斐波那契数列,1,1,2,3,5,8,13,21,34,55,89,144……

代码如下:

#include 
int func(int *p,int a);

int main(int argc, const char *argv[])
{
	int arr[12] = {1,1};
	func(&arr[2],10);
	for(int i=0;i<12;i++){
		printf("%d\t",arr[i]);
	}
	printf("\n");
	return 0;
}
int func(int *p,int a){

	if(a<1){
		return 0;
	}else{
	*p = *(p-1)+*(p-2);
	p++;
	}
	return func(p,a-1);
}

终端运行结果:

ubuntu@ubuntu:C_base$ gcc 75_test.c 
ubuntu@ubuntu:C_base$ ./a.out 
1	1	2	3	5	8	13	21	34	55	89	144	

你可能感兴趣的:(算法,数据结构,c语言)