慕雪2185926
2021-11-29 17:05
第二个for循环i为什么等于8
因为原题中是对十个身高进行排序,所以是总共有10个数,然后以下面这组数为例:
数组: 0 1 2 3 4 5 6 7 8 9
第一次:|√|-|-|-|-|-|-|-|-|
这是第一次比较结束,就是还剩八组没比较,所以i=8(因为for语句是先执行i=8,i>=0,再执行for大括号里面的语句,然后再执行i--)
因为条件是i>=0,(就是最后一次比较结束,i=0代表此时还剩余0组没比较的意思),所以其实依旧是循环9次
个人分析应该是这样的,,,
至多进行八次循环可以排完,你可以举个例子:9,8,7,6,5,4,3,2,1 一个九个数,最多进行八次这样的交换循环
从数组尾部遍历,由于数组arr[ ]长度为9,最大下标是8,所以第二个循环是从i=8开始的
C语言入门
926207 学习 · 20797 问题
相似问题