[問題] 宣告變數的位置
我遇到了一個很奇怪的問題....
想破頭還是不知道原因
所以來版上問問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
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章
26
152