我已經寫在八度使用未給出結果我預期.oct功能,我認爲這個問題可能在於下面給出的代碼片斷 - 它是確定巢邏輯& &運營商,因爲我已經做了還是需要使用進一步的內部if循環來分離出來?嵌套邏輯&&運算符允許嗎?
if (((final_side_PDF > final_uwr_PDF && final_side_PDF > final_unr_PDF) && final_side_PDF > final_dwr_PDF) && final_side_PDF > final_dnr_PDF)
{
market_model(ii) = 0.0;
}
else if (((final_uwr_PDF > final_side_PDF && final_uwr_PDF > final_unr_PDF) && final_uwr_PDF > final_dwr_PDF) && final_uwr_PDF > final_dnr_PDF)
{
market_model(ii) = 1.0;
}
else if (((final_unr_PDF > final_side_PDF && final_unr_PDF > final_uwr_PDF) && final_unr_PDF > final_dwr_PDF) && final_unr_PDF > final_dnr_PDF)
{
market_model(ii) = 2.0;
}
else if (((final_dwr_PDF > final_side_PDF && final_dwr_PDF > final_uwr_PDF) && final_dwr_PDF > final_unr_PDF) && final_dwr_PDF > final_dnr_PDF)
{
market_model(ii) = -1.0;
}
else if (((final_dnr_PDF > final_side_PDF && final_dnr_PDF > final_uwr_PDF) && final_dnr_PDF > final_unr_PDF) && final_dnr_PDF > final_dwr_PDF)
{
market_model(ii) = -2.0;
}
else
{
market_model(ii) = market_model(ii-1);
}
編輯迴應評論
我要檢查它的五個變量中的一個; final_side_PDF,final_uwr_PDF,final_unr_PDF,final_dwr_PDF和final_dnr_PDF;具有最大的價值並返回一個唯一的識別號碼; 0,1,2,-1,-2;取決於哪一個是最大值。上面的代碼包含在主(ii)循環中。
這是確定你用「嵌套'&&'」,但我們不能幫你不知道更多細節。使用'if-else if-else if -..- else'與'if ..;'是非常不同的;如果..; ...'。取決於你想做什麼(: – 2011-06-04 20:45:09
我認爲你的代碼需要重構..有幾個關係檢查可以很容易地分組,這將導致更清晰的代碼 – Xeo 2011-06-04 20:46:51
你發佈的代碼做了你指定它應該你可能會嘗試的是將每個'final_xx_side> final_yy_size'檢查用括號括起來,運算符優先規則表示'''在'&&'之前被評估過,但我遇到過至少一個編譯器 – mtrw 2011-06-04 21:25:11