`
void maopao(int arr[],int sz)
{
int i = 0;
int w = 0;
if (sz!=1)
{
for (i = 0; i < sz - 1; i++)
{
if (arr[i] > arr[i + 1])
{
w = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = w;
}
}
maopao(arr, sz - 1);
}
else
;
}
int main()
{
int arr[10] = {9,8,7,6,5,4,3,2,1,0};
int sz = sizeof(arr) / sizeof(arr[0]);
maopao(arr, sz);
printf("%d",arr[9]);
return 0;
}
这个代码在完成冒泡排序后会在这两处来回跳跃,为什么会这样呢?