關于遞歸函數中if-else的問題
#include?<stdio.h>?
int?getAge(n)
{
????int?age;
????if(n==1)
????
????age=10;
???
????else
????
????????age=getAge(n-1)+2;
????return?age;
????
}
int?main()?
{
????int?fifthAge=getAge(5);
?printf("第5個人的年齡是%d歲",fifthAge);?
?return?0;
}為什么if-else中間加了{}之后,運算結果不一樣?
2017-10-03
#include <stdio.h>
#include <stdlib.h>
int getAge(n)
{
??? int age;
??? if (n==1)
??? {
??????? age = 10;
??? }
??? else
??? {
??????? age = getAge(n-1)+2;
??? }
??? return age;
}
int main ()
{
??? int fifthAge = getAge(5);
??? printf("第5個人的年齡是%d歲",fifthAge);
??? return 0;
}
這個和沒有{}的結果是一樣的啊