課程
/后端開發(fā)
/C
/C語言入門
為什么會得到8,少的10去哪里了
2016-10-12
源自:C語言入門 5-9
正在回答
細(xì)節(jié)是魔鬼
#include?<stdio.h>? int??getAge(int?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; }
qq_Davidbeckham_03722434 提問者
所以當(dāng)numberpeople==1函數(shù)為0,即0+2+2+2+2=8
?age=10的意思是是給age這個變量賦值10,即讓這個人年齡為十歲。age==10的意思是age的值與10這個數(shù)字大小相等,因為還沒給age賦值,所以age==10為假,如果先定義int age=10,然后age==10,就為真。系統(tǒng)之所以沒有報錯是因為C語言保護(hù)性不夠強(qiáng),系統(tǒng)認(rèn)為該假0并沒有得到使用不影響,如果是Java這種安全語言就會報錯
舉報
C語言入門視頻教程,帶你進(jìn)入編程世界的必修課-C語言
1 回答幫忙找錯誤。
2 回答幫忙找錯誤
1 回答幫忙找個錯誤
2 回答求大佬幫忙找找錯誤
2 回答各位大佬幫忙找一下錯誤
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-10-12
細(xì)節(jié)是魔鬼
2016-10-12
所以當(dāng)numberpeople==1函數(shù)為0,即0+2+2+2+2=8
2016-10-12
?age=10的意思是是給age這個變量賦值10,即讓這個人年齡為十歲。age==10的意思是age的值與10這個數(shù)字大小相等,因為還沒給age賦值,所以age==10為假,如果先定義int age=10,然后age==10,就為真。系統(tǒng)之所以沒有報錯是因為C語言保護(hù)性不夠強(qiáng),系統(tǒng)認(rèn)為該假0并沒有得到使用不影響,如果是Java這種安全語言就會報錯