我想了解下面的程序,其中遞歸函數調用存在,但越來越困惑,而跟蹤如何加載大頭釘。難以理解連續遞歸調用
void func(char*); // function prototype
int main(){
func("123");
return 0;
}
void func(char a[]){
if(a[1]=='\0')
return;
func(a+1);
func(a+1);
printf("%c",a[1]);
}
的輸出,這是3 3 2
希望如果有人能在這一個建議......
做這種多次遞歸調用以任何方式有益的或發現的應用具體問題領域..?
這是最經常使用的例如用於遞歸(未的網站,但Fibonacci數計算)::http://www.programmingsimplified.com/c-program執行NTF陳述可以通過這個公式獲得-generate-fibonacci-series – RhinoDevel
的確,我使用斐波那契計算作爲一個面試問題,要求候選人創建一個迭代和遞歸的解決方案。 –