这是一个创建于 3483 天前的主题,其中的信息可能已经有所发展或是发生改变。
这是一个求最大子序列和的程序。
因为要输出起始位置和终止位置,就定义了 tail 和 head 两个全局变量,当时检测了一下 find 函数里的 tail 和 head 值,发现求到的是正确的。
但是在 main 函数里输出时,tail 和 head 就都变成了 0 ,搜索了一下,说是在函数中定义同名局部变量会出现这种情况.....但是我并没有啊......
2 条回复 • 2015-03-09 21:40:52 +08:00
|
|
1
ChanneW 2015-03-09 21:27:51 +08:00
先输出了,后 find 的
|
|
|
2
BGLL 2015-03-09 21:40:52 +08:00
cout流的执行顺序,C++未定义,取决于编译器.... 大部分情况是反直觉的从左到右 这样 cout <<" "<<tail<<" "<<head<<find(a,k)<<endl; 就好了....
|