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

求助这段c代码红色部分是在求什么,以及为什么把MAX赋值给min和把MIN赋值给max?

求助这段c代码红色部分是在求什么,以及为什么把MAX赋值给min和把MIN赋值给max?

C C++
苏和666 2017-01-14 21:29:53
求助这段c代码红色部分是在求什么,以及为什么把MAX赋值给min和把MIN赋值给max?
查看完整描述

3 回答

已采纳
?
习惯受伤

TA贡献885条经验 获得超1144个赞

min=(score<min)?score:min;

这一句:如果score比min还小,那么就将score赋值给min。

max=(score>max)?score:max;

这一句:如果score比max还大,那么就将score赋值给max。


第二个问题:

为什么把MAX赋值给min和把MIN赋值给max?

这个问题,我们可以根据一个输入值来做一个测试:

如果我们将代码改成这样:

min = MIN; //min = 0;
max = MAX; //max = 100;

此时如果输入值80,那么一次循环判断后结果是:

min = 0;
max = 100;

显然下面的代码不能判断最大值最小值。忽略了这个值。

如果第二次循环输入:60,经过:

min=(score<min)?score:min;
//结果:min = 0;
max=(score>max)?score:max;
//结果:max = 100;

一样忽略了这个值。

所以:min = MAX; max = MIN; 是一个非常巧妙的做法。 减少了代码,减少了判断。

查看完整回答
3 反对 回复 2017-01-14
?
rookie_cainiao3830141

TA贡献11条经验 获得超0个赞

可以看看c语言里的运算符章节。

查看完整回答
反对 回复 2017-01-16
?
狗蛋儿他爹4392899

TA贡献3条经验 获得超0个赞

红色部分求最大值最小值
查看完整回答
反对 回复 2017-01-14
  • 3 回答
  • 0 关注
  • 1704 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信