关于bool类型
为什么bool isMax=false能使输入0就输出最小值呢,解释一下这句话呗
为什么bool isMax=false能使输入0就输出最小值呢,解释一下这句话呗
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,返回数组最小值。
举报