0
int arr2[5]={5,4,3,2,1};
sortArray(arr2, 5);
void sortArray(int data[], int size)
{
int i, j;
int element;
for (i = 1; i < size; i++)
{
element = data[i];
j = i-1;
while (j >= 0 && element < data[j])
{
data[j+1] = data[j];
j--;
}
data[j] = element;
}
}
我的函數得到這個錯誤,當函數結束時我的數組看起來像這樣{5,5,5,5,5}爲什麼這樣?運行時檢查失敗#2 - 變量'arr2'周圍的堆棧已損壞
在for循環的第一次迭代期間,在執行while循環後,j遞減爲-1,然後用作數據數組中的索引;這是你的堆棧損壞的原因。 – ryanbwork
但它不應該做任何事情,如果j低於0 – Quaker
得到它,修復'數據[j]'到'數據[j + 1]' – Quaker