
如圖所示這個程式中scanf函式為什么在運行時就報錯呢?是我哪里寫錯了嗎?
uj5u.com熱心網友回復:
去定義 _CRT_SECURE_NO xxx 就可以無視這個警告了。因為這個函式不安全,已經早就拋棄了
uj5u.com熱心網友回復:
為啥不看報錯資訊,用啥insteaduj5u.com熱心網友回復:
看錯誤資訊是樓主的編譯器不支持scanf需要用scanf_s(vs里支持的)。把scanf改成
scanf_s("%d", &x);試試~
uj5u.com熱心網友回復:
#define _CRT_SECURE_NO_WARNINGS#pragma warning(disable:4996)
uj5u.com熱心網友回復:
如果用#define這一句一定要放在程式的第一行
uj5u.com熱心網友回復:
VS中設定#define _CRT_SECURE_NO_WARNINGS(解決C4996錯誤)1.我們在編譯老的用C語言的開源專案如lua源包的時候,可能因為一些老的.c檔案使用了strcpy,scanf等不安全的函式,而報警告和錯誤,而導致無法編譯通過。
2.此時我們有兩種解決方案:
a.在指定的源檔案的開頭定義:#define _CRT_SECURE_NO_WARNINGS (只會在該檔案里起作用)
b.在專案屬性里設定,這會在整個專案里生效,依次選擇:屬性->配置屬性->C/C++ ->前處理器->前處理器定義->編輯
最下面加上一行:_CRT_SECURE_NO_WARNINGS (注意不需要#define)
這個其實網上就能搜到答案
uj5u.com熱心網友回復:
其實錯誤提示已經很明確的給出解決方法了uj5u.com熱心網友回復:
感謝大佬們!我懂了轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/12633.html
標籤:C語言
上一篇:GetOpenFileName 偶爾不彈檔案選擇框,程式卡死
下一篇:C++入門第一課(適合零基礎者)
