我是一名試圖瞭解循環如何工作的初學者。我正在嘗試使用下面的代碼來查找數組中最大元素的值。它只運行了4次迭代,儘管我已經設置了n值=數組的大小= 5。因此,它沒有測試最後一個元素的if條件,不知道爲什麼?好心提醒。無法理解循環迭代
int main()
{
int a[] = {1,2,3,4,5};
int* max;
int i, n;
n = sizeof(a)/sizeof(a[0]);
max = a;
for(i=0; i<n; i++)
{
if(a[i] > *max)
{
*max = a[i];
i++;
}
}
cout << "Maximum element in the array is : " << *max << endl;
}
O/P: - 數組中的最大元素是:4
你在哪裏聲明瞭a,n和max?這段代碼看起來很腥...... –
剛剛更新了它。 – Aisha
當您執行'* max = a [i]'時,您正在更改數組中的值,因爲max指向數組中的值。 – stark