/*
通过编译运行的时候会出现getMin函数(getMin函数是通过递归找出整形数组中的最小值)的返回的值(通过rtnM接收)在打印出来后出现的值在数组初始化的值中不存在。
在编译器版本比较老的时候甚至会出现printf函数影响getMin函数输出的问题(实际上传入的数值并不影响getMin函数的运行)
*/
#include <stdio.h>
#include <stdlib.h>
int Fibonacci(int n);
int getMin(int array[], int index);
int main()
{
int x, rtnF;
int rtnM, index=10, array[10]={20, 15, 85, 58, 18, 54, 55, 78, 54, 27} ;
printf("Fibonacci: please enter a number: " );
scanf("%d",&x);
rtnF = Fibonacci(x);
rtnM = getMin(array, index);
printf("the result about Fibonacci is: %d\n",rtnF);
printf("the result about GetMin is:%d\n",rtnM);
return 0;
}
int Fibonacci(int n)
{
if(n == 1 || n == 2){
return (1);
}else{
return (Fibonacci(n-1) + Fibonacci(n-2));
}
}
int getMin(int array[], int index)
{
int min=array[0];
if(index==0){
return array[0];
}else{
min = getMin(array, index-1);
if(min > array[index]){
return (array[index]);
}else{
return min;
}
}
}