[問題] 宣告變數的位置

看板C_and_CPP (C/C++)作者 (香蕉是什麼?)時間16年前 (2009/03/11 00:46), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/3 (看更多)
我遇到了一個很奇怪的問題.... 想破頭還是不知道原因 所以來版上問問orz 有段程式碼如下 bool PA_gen(float* spec,....略); int main(int argc, char *argv[]) { float spec[8]={0.0,0.0,1.2,1.0,1.8,0.0,0.6,0.3}; float result[50][10]={0}; .....略 if(PA_gen(spec,.....略)) { } ...略 } bool PA_gen(float* spec,....略) { cout << spec[2] ; } 理論上應該要印出spec[2]的值 也就是1.2 但是他印出來是0(也不是0.0 是0) 但是如果改變一下宣告位置 float result[50][10]={0}; float spec[8]={0.0,0.0,1.2,1.0,1.8,0.0,0.6,0.3}; 改成先宣告result再宣告spec 很神奇的他就可以正確印出來了 我無法理解明明就差上下行而以 為什麼會有差異.... 如果有說明不清楚的地方請在提出orz 我會想辦法將不清楚的地方說明白 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.187.104
文章代碼(AID): #19jfbb0B (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #19jfbb0B (C_and_CPP)