請問在這個函數中,為什么 index = i; 要放在循環的if里面不可以放到外面去,然而 arr[index]卻寫在外面呢
void replaceMax(int arr[],int value)
{
??? int max = arr[0];
??? int index = 0;
??? int i;
??? for(i=1;i<5;i++)
??? {
??????? if(arr[i]>max)
??????? {
??????????? max = arr[i];?? //將數組中較大的數賦值給max
??????????? index = i;? //記錄當前索引
??????? }???????????????
??? }?
??? arr[index] = value;
}
2017-12-09
index = i將當前符合if條件的數值的下標賦給index,如果把index = i;表達式放在if的外面,index等于每次循環i加一的值,不符合條件。