C语言 菜鸟求助

为什么冒泡排序这样写不对

要这样写才对?

搞不懂啊,我明明是创建a[10]; 循环判断条件怎么会i < 10 -1 呢?a[9] 不做处理?
好吧。。就是a[9]不做处理。。我知错了。。

你上面的写法会造成数组越界访问,如:
for( i=0;i<10;i++ ) //i的取值是0-9
for( j=0;j<10-i;j++ ) //当i=0时,j取值为0-9
if ( a[j] > a[j+1] ) //这里j+1会取到a[10] 而数组 int a[10]中是没有a[10]这个元素的!越界造成结果异常
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答
大家正在搜