第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

else這里為什么不能加{} ?

#include <stdio.h>

int getAge(numPeople)
{
??? int age;
??? if(numPeople==1)
??????? age=10;
??? else
??? {
??????? age = getAge(numPeople-1)+2;
??? return age;
??? }
}
int main()
{
??? int fifthAge = getAge(5);
?printf("第5個人的年齡是%d歲", fifthAge);
?return 0;
}

正在回答

4 回答

你搞錯了,能加的,你的語法錯誤是numPeople沒有聲明類型,else語法是對的,順便說一句,你的遞歸函數(shù)邏輯有問題,答案是錯的,自己想想看怎么改進(jìn)https://img1.sycdn.imooc.com//5bd6778300018f5d09000586.jpg

0 回復(fù) 有任何疑惑可以回復(fù)我~

if這里加個{}和返回值;

如果不加{}這個判斷條件有效無效都會執(zhí)行age=10;,因為int?函數(shù)要有返回值,這里執(zhí)行到age=10;就會卡住

https://img1.sycdn.imooc.com//5bdc0dcc0001578c03300485.jpghttps://img1.sycdn.imooc.com//5bdc0dcc0001082803490399.jpg


0 回復(fù) 有任何疑惑可以回復(fù)我~

哦,你可能試問為什么else可以不加{}是吧,因為if語法可以這么寫,這樣寫默認(rèn)認(rèn)為你{}只包含一行,即我圖中紅線劃的區(qū)域,第二行編譯器會認(rèn)為已經(jīng)結(jié)束了,就不會再讀了,最好不要這么寫,這樣的代碼會被人罵的https://img1.sycdn.imooc.com//5bd678b100010ff605730442.jpg

1 回復(fù) 有任何疑惑可以回復(fù)我~

因為你這里的return age也包括if中的age,如果你加{},當(dāng)numPeople==1時沒有返回值

1 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

else這里為什么不能加{} ?

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號