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

if语句里用nums[0]为什么和min、max输出结果不一样

nums[0]值不是和max、min值一样吗?为什么使用nums[0]最小值输出结果不一样?


http://img1.sycdn.imooc.com//5eb2427e0001351414450797.jpg

正在回答

6 回答

还是有些不理解。num[0]与num[1],也就是61与23比较,23小于61,不就把23赋值给num[0]作为min了嘛,后面拿23和4比较,4小于23,又把4作为min,之后后面所有的数都比4大呀,不会再进行赋值了嘛。我是这样理解的,求大佬讲解

0 回复 有任何疑惑可以回复我~

把148换成72 就会发现 72不比74大 却会成为新的max,这样写最后不是出来最大的而是出来最后一个比nums[0]大的

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

因为20是最后一个小于nums[0]即61的数,min之前的值被覆盖了。

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

如果nums[]中的元素换了位置,你的最大值和最小值都是错的。

按照你的代码,nums[0]是第一个元素61,每个元素都与61比较,如果比它大就成为max,比他小就成了max,并且是按照顺序来的,所以按照顺序你的min先后被赋值23,4最后是20,所以结果是20。

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

你定义的min和max都是nums[]

0 回复 有任何疑惑可以回复我~

if(nums[i] > max)

max = nums[i]


if(nums[i] < min)

min= nums[i]


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

举报

0/150
提交
取消

if语句里用nums[0]为什么和min、max输出结果不一样

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