程式是:
他/她說:“老師就是你的那個程式!單步調試,若定義int能通過,但是double通不過!到cin>>死活輸不出來!我試了好多遍!我用的是code13.12最新版本!”
我調試,果然如此。但無法解釋。如何答複?我不知道。最後,我這樣答複。
我試過了,确實如你所言。這是否是code::block的一個bug,我不敢肯定,可以通過郵件回報一下。
不過,我們可以繞開這樣的問題,原則就是不要進入到這個陷阱中去。我提示兩個方法:(1)替換:調試中,給變量直接指派,如你的程式中,将cin>>r1>>r2加上注釋,同時寫對r1和r2的指派語句,單步執行能夠順利過去;(2)忽視:通過加斷點,跳過cin,而不是機械地一步一步操作。要搞清目标是跟蹤過程,而保證輸入沒有問題,cin完全用不着去step。實際上,即使沒有bug,也要适應利用斷點,這是一個可以高效的方式。
我解釋不了這段錯誤,就給你提點“避障”的辦法,供參考。科學問題,一定要追根問底,而對這類工程中遇見的問題,首要的原則,讓事情能做下去。
順便提code::block中的另一個問題:當項目所在檔案名夾中含有中文、空格時,單步高度無法進行。對策:養成習慣,建檔案夾時,按字線開頭、數字字母串的一般規範去命名。
存在問題不怕,重要的是找到應對的原則,也是一種選擇。

<a target="_blank" href="http://book.douban.com/subject/25837646/">豆瓣</a>