有疑問(wèn)請(qǐng)解答一下,謝謝
#include <stdio.h>?
int getYearOld(int n)
{
??? int year;
??? if(n==1)
??????? return year=10;
??? else
??????? return year=getYearOld(n-1)+2;
??????? printf("第%d個(gè)人的年齡是%d歲",n,year);
}
int main()
{
??? int old=getYearOld(5);
?printf("第5個(gè)人的年齡是%d歲", old);
?return 0;
}
代碼中的加粗字體為何運(yùn)行不出來(lái)?我的運(yùn)行結(jié)果只有第五個(gè)人的年齡是18歲。
2020-02-27
因?yàn)槟阍趇f else后面都寫(xiě)上了return;
當(dāng)出現(xiàn)return時(shí),即為結(jié)束,不繼續(xù)運(yùn)行下面的代碼,所以printf沒(méi)有運(yùn)行;
建議改為在printf后面寫(xiě)return year;