for (i = 0; i <= 4; i++) {
if (a[i] > a[i++]) { max = a[i]; min = a[i++]; }
else { max = a[i++]; min = a[i++]; }
}
int max = a[0], min = a[0];
for (int i = 1; i < 5; i++) {
if (a[i] > max) max = a[i];
if (a[i] < min) min = a[i];
}
auto [minIt, maxIt] = std::minmax_element(std::begin(a), std::end(a));
「迴圈變數不可在迴圈體內修改」是基鐵律。求極值只需單次遍歷,切勿嘗試兩兩比較並修改索引。