請(qǐng)教:下面兩個(gè)循環(huán)語句中都含有序列函數(shù),為什么一個(gè)警告,一個(gè)沒有警告?
作者:開拓者 TB 來源:cxh99.com 發(fā)布時(shí)間:2014年01月06日
- 咨詢內(nèi)容:
下面這段代碼編譯后沒有出現(xiàn)警告信息:
For I=1 TO M
{
SumC=SumC+Abs(C[i]-C[i+1]);
}
下面這段代碼編譯后出現(xiàn)警告信息(FOR,WHILE.IF,ELSE中包含序列函數(shù),可能存在潛在的邏輯錯(cuò)誤。請(qǐng)確認(rèn)代碼無誤):
For I=1 TO preDayHLLng
{
SumpreDayHL=SumpreDayHL+(HighD(I)-LowD(I));
}
為什么會(huì)這樣?后面的第二段代碼的警告信息需要理會(huì)嗎?
- TB技術(shù)人員:
tb不建議在FOR,WHILE.IF,ELSE中使用序列函數(shù),因?yàn)樾蛄凶兞康闹悼赡軙?huì)出現(xiàn)錯(cuò)誤
樓主第一段代碼直接使用的序列變量,所以沒有報(bào)錯(cuò)。而第二段代碼,用到了highd函數(shù),該函數(shù)代碼中是對(duì)high序列變量比較,所以報(bào)警告了。出現(xiàn)這個(gè)信息你需要自己分析,如果不會(huì)因?yàn)樾蛄凶兞吭斐捎?jì)算邏輯混亂,也可以用的。