精華區beta Programming 關於我們 聯絡資訊
※ 引述《datagram ()》之銘言: : int main() : { : int a=4; : float uu[a]={0}; : printf("%f",uu[3]); : return 0; : } : 這個寫法有錯 ,應該是錯在 float uu[a]={0} 這一行 : 為什麼已經令了 a=4 ,卻不能 把a之值 放入 uu[4]呢? : 有沒有什麼方法可以解決這種問題? : 因為我在寫 header檔時, function(X,X,G) : G是一個int,要丟進此function運作,而此function中設了一個array : int AA[G]={0}; ==>這會出現錯誤。這種錯誤跟上面也是一樣的錯誤。 實際上的編譯結果會讓uu[a]變成uu[4],因為a是常數(如果你編譯器不笨的話) 但uu[4]所能索引的範圍是uu[0]~uu[3],因此uu[4]是有問題的 而你第2個問題必須要用動態記憶體配置,因為你的G是變數 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.211.15.82