亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

請問在這個函數中,為什么 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;
}

正在回答

1 回答

index = i將當前符合if條件的數值的下標賦給index,如果把index = i;表達式放在if的外面,index等于每次循環i加一的值,不符合條件。

1 回復 有任何疑惑可以回復我~
#1

慕哥0928960 提問者

就是說只是得到的值有問題,這樣寫其實也可以的嘛?
2017-12-09 回復 有任何疑惑可以回復我~
#2

慕哥0928960 提問者

邏輯上也可以,只是取值出現了問題
2017-12-09 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

請問在這個函數中,為什么 index = i; 要放在循環的if里面不可以放到外面去,然而 arr[index]卻寫在外面呢

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號