为了账号安全,请及时绑定邮箱和手机立即绑定

传不等于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“  在这里怎么无法识别呢??我代码有问题还是???

正在回答

1 回答

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

可能是因为初始化就不行了,但是不是这样不确定


1 回复 有任何疑惑可以回复我~
#1

qq_慕少5236623 提问者

是的,是这样的,翻了一下相关书籍,写道:任何数字值和指针值都可以被隐式转换为bool值。 举例:bool strat = -100; //start 隐式转换为 true bool stop = 0; //stop 隐式转换为 false
2019-09-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之起航篇
  • 参与学习       291033    人
  • 解答问题       760    个

C++亮点尽在其中,本课程是在C语言基础上的一个延伸,得以升华

进入课程

传不等于1的值为false(最小值),只有传1才为true(最大值)

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信