[问题] 关于while if构成的奇怪程式flow问题

楼主: fishlinghu (令狐瑜)   2014-08-28 02:54:56
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
Win8, CodeBlock, GCC compiler
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
no
问题(Question):
while()
{
if(max_time==-1)
{
cout << "Fucking bug" << endl;
cout << ext_list_for_column.size() << endl;
cout << "i = " << i << endl;
//if(violating_power_constraint==true)
//cout << "Power violation" << endl;
}
}
以上是我的一小段程式码
先说我的程式有随机的部分
可是我确定不可能会对程式的行为有这么大的影响
而且我测试很多次都得到差不多的奇怪的结果
我遇到的问题是
我如果注解掉里面的if那两行
那可能只会进大if一次甚至没进(出现一行"Fucking bug")
可是加上里面的if那两行之后
就会进大if超级多次(印出很多次讯息)
很显然的我这整个if里面都没有更改到任何变量啊(我确定我没打成=)
只是判断、cout
为何会对整个程式的flow or 变量产生这么大的影响呢?
不知道有没有人有类似经验?
作者: ZanFu5566 (仁甫56 优质56 清新56)   2014-08-30 23:48:00
个人经验可能是其他地方有错..你要不要fixed住random seed再debug看看?而且你跑到Fucking bug之后会发生什么事情?seg. fault?

Links booklink

Contact Us: admin [ a t ] ucptt.com