傳不等于1的值為false(最小值),只有傳1才為true(最大值)
/************************************************************/
/*知識點:bool類型、命名空間、輸入輸出 */
/*題目要求:使用一個函數找出一個整型數組中的最大值和最小值 */
/************************************************************/
#include<stdlib.h>
#include<iostream>
using namespace std;
int getMaxOrMin(int *arr, int count, bool isMax)
{
int temp = arr[0];
for (int i = 0; i < count; i++)
{
if (isMax)
{
if (temp < arr[i])
temp = arr[i];
}
else
{
if (temp > arr[i])
temp = arr[i];
}
}
return temp;
}
int main(void)
{
int arr1[5] = { 2,1,4,8,3 };
bool val = false;
cin >> val; //bool類型中,認為非0為true,0為false ???未實現
cout<< getMaxOrMin(arr1, 5, val) << endl;
system("pause");
return 0;
}
//很想問一下,網上查了相關資料,”C++將非零值解釋為true,將0解釋為false“? 在這里怎么無法識別呢??我代碼有問題還是???
2019-09-21
int main(void)
{
int arr1[5] = { 2,1,4,8,3 };
bool val = false;
cin >> val; //bool類型中,認為非0為true,0為false ???未實現
在我自己的vs試了一下,輸入0和1可以分別得到1和8,但是非0和1的數應該都是輸出1
但如果去掉bool val = false;中 =false 好像就可以輸入非0數得到8
可能是因為初始化就不行了,但是不是這樣不確定