作者gppo (香蕉是什麽?)
看板C_and_CPP
标题[问题] 宣告变数的位置
时间Wed Mar 11 00:46:28 2009
我遇到了一个很奇怪的问题....
想破头还是不知道原因
所以来版上问问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