C语言问题!!求教!!为什么最后输出多一个0呢?
发布网友
发布时间:2024-01-04 21:05
我来回答
共2个回答
热心网友
时间:2024-04-14 14:58
for(m=0;m<s;m++)
for(x=0;x<s-m;x++)
if(a[m]>a[m+1])
{b=a[m];
a[m]=a[m+1];
a[m+1]=b;}
这段 比较到最后一个时m=s-1,你把他和m+1比这里越界了,a[m+1]就是a[s],这里a[s]没赋值所以是0 ,你交换后自然是0
热心网友
时间:2024-04-14 15:02
if(t>k) a[s++]=i;}
最后s多加了1
for(c=0;c<s-1;c++) //再减下一个1就可以了