[問題] 關於while if構成的奇怪程式flow問題

看板C_and_CPP作者 (令狐瑜)時間9年前 (2014/08/28 02:54), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串1/1
開發平台(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 變數產生這麼大的影響呢? 不知道有沒有人有類似經驗? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.121.91 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1409165698.A.5C5.html

08/30 23:48, , 1F
個人經驗可能是其他地方有錯..
08/30 23:48, 1F

08/30 23:49, , 2F
你要不要fixed住random seed再debug看看?
08/30 23:49, 2F

08/30 23:50, , 3F
而且你跑到Fucking bug之後會發生什麼事情?seg. fault?
08/30 23:50, 3F
文章代碼(AID): #1J_Yc2N5 (C_and_CPP)