課程
/后端開發
/C++
/C++遠征之起航篇
為什么bool isMax=false能使輸入0就輸出最小值呢,解釋一下這句話唄
2016-01-19
源自:C++遠征之起航篇 5-1
正在回答
因為輸入零所以isMax值為false,后面的判斷語句判斷isMax的值。bool isMax=false;只是個初始化,你把它改成true其實也行
因為bool中只有真假(即1真0假)兩個數。身為bool類型的變量isMax當接收到cin輸入的值時,自動返回到cout<<getMaxOrMin(arr1 ,4,isMax)<<endl;的isMax中,也就是int getMaxOrMin(int *arr ,int count,bool isMax)的isMax中,進而讓if語句判斷isMax的真假,那么重點來了if(isMax)其實是if(isMax==true)的簡寫,
就是說當isMax等于true值時(true即為1)返回最大值,否則返回最小值。
注:bool isMax=false這句只是定義變量isMax并賦初值false,就算這句寫成”bool isMax;“最后結果也不會變。那為什么要這樣寫,其實是為了代碼健壯性,使isMax在沒有賦值的情況下默認為false(即0值),所以當你不鍵盤輸入isMax值時,系統默認為false,返回數組最小值。
舉報
C++亮點盡在其中,本課程是在C語言基礎上的一個延伸,得以升華
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-01-19
因為輸入零所以isMax值為false,后面的判斷語句判斷isMax的值。bool isMax=false;只是個初始化,你把它改成true其實也行
2016-01-19
因為bool中只有真假(即1真0假)兩個數。身為bool類型的變量isMax當接收到cin輸入的值時,自動返回到cout<<getMaxOrMin(arr1 ,4,isMax)<<endl;的isMax中,也就是int getMaxOrMin(int *arr ,int count,bool isMax)的isMax中,進而讓if語句判斷isMax的真假,那么重點來了if(isMax)其實是if(isMax==true)的簡寫,
就是說當isMax等于true值時(true即為1)返回最大值,否則返回最小值。
注:bool isMax=false這句只是定義變量isMax并賦初值false,就算這句寫成”bool isMax;“最后結果也不會變。那為什么要這樣寫,其實是為了代碼健壯性,使isMax在沒有賦值的情況下默認為false(即0值),所以當你不鍵盤輸入isMax值時,系統默認為false,返回數組最小值。