用Visual Studio 2019編譯下面這個程式總是提示Debug Assertion Failed

時間 2021-05-07 20:00:10

1樓:匿名使用者

首先明確,報錯為assertion failed (斷言錯誤)

#include為c標準庫之一,assert("表示式")是其中一個巨集

assert("表示式") 意思是,"表示式"的值在正常執行程式時,為真值,如果為假(為0),那麼便出現了問題,需要在console(控制檯)報錯

assert(stream!=0) 應當是fscanf函式其中一個語句

也就是stream(流)為null了,stream指的是c(乃至絕大多少程式設計中)的資料流概念,簡單的說就是file *fp變數為null,fp = fopen() 沒有開啟指定檔案

(說這麼多也就是解釋這個報錯的原因233)

為啥fopen報錯,大概有3種原因

沒有開啟指定檔案的許可權(例如:windows系統下,預設c盤根目錄需要管理員許可權)

檔案開啟地址錯誤(舉例,這個真沒有舉例)

檔案編碼錯誤,如果不是以位元組流開啟,也就是"rb"形式,是有一定可能性在特定標準庫發生(是c標準中提到,但不一定都實現的內容),這時候向errno中儲存eilseq(error illegal sequence,編碼錯誤)

解決方案,檢查為啥fp為null

(樓主中用到了"in.dat",如果是在windows系統下,預設只能在執行檔案同一目錄下找到,然後還有在virtual store中能直接開啟,寫完整的路徑,例如"d:/in.

dat"更好)

2樓:匿名使用者

刪掉倒數第五行和倒數第二行

怎麼用Visual Studio寫c 程式,為什麼我的程

看你用的什麼版本了 6.0 還是2005 或者2008 等等 不過大同小異 建立新專案 在 檔案 選單上,指向 新建 然後單擊 專案 在 visual c 專案型別中,單擊 win32 然後單擊 win32 控制檯應用程式 輸入專案名稱。預設情況下,包含專案的解決方案與新專案同名,當然,您也可以鍵入...

用諺語造句,用諺語造句

桃花徐島主 1 這個訊息一傳十,十傳百,很快大家都知道了2.做事一心不能二用 3.這個時代可謂是八仙過海,各顯神通 4.你耐心一點,萬事開頭難 5.習慣成自然,慢慢適應吧 6.你別把責任推到被人身上,一人做事一人當 1 小明的爸爸看見小偷在偷錢,便上前把小偷 這件事一傳十,十傳百,人人都誇他勇敢。2...

冰箱用20年了會有什麼危險嗎,冰箱用20年了會有什麼危險嗎

瘋狂風扇 這個用了那麼長時間都沒問題現在應該也不會有什麼問題,不過可能會因為不見老化導致不工作或者其他問題 主要你家電源穩妥。沒有問題的。因為美菱阿里斯頓冰箱壓縮機是進口的,要是不製冷,不要維修,我維修12年了。放心用吧。卻是有的浪費電,呵呵 飛魚 應該是沒有什麼問題的,耗電量會增大。不過20多年冰...