?scanf函數(shù)在VS中報(bào)錯(cuò)的主要原因是 scanf被認(rèn)為不安全而被編譯器默認(rèn)設(shè)置為禁用。
那么如何解決這個(gè)問題呢
法一:
僅將函數(shù)scanf替換為scanf_s即可,其他語法不變。但scanf_s函數(shù)并不是C語言函數(shù)庫里的標(biāo)準(zhǔn)函數(shù),而是VS編譯器所提供的函數(shù),所以并不推薦用這種方法來解決問題。
法二:
在代碼的最頂端輸入#define??_CRT_SECURE_NO_WARNINGS
(?。?!注意一定是最頂端不然依舊會(huì)報(bào)錯(cuò))
錯(cuò)誤示例:
?
?正確示例:
這樣就解決了,但是這個(gè)辦法依然有缺陷,就是當(dāng)我們每一次新建一個(gè)程序或者項(xiàng)目時(shí),就要重新去在代碼的最頂端輸入#define??_CRT_SECURE_NO_WARNINGS。這顯然還不是我們想要的解決方案。
法三:
在VS的界面中,最頂端找到項(xiàng)目這一欄,點(diǎn)擊屬性
?
找到C/C++這一欄,選擇預(yù)處理器,打開預(yù)處理器定義這一欄最右邊的小三角,選擇編輯。
?在最上方的白框中輸入_CRT_SECURE_NO_WARNINGS,點(diǎn)擊確定,然后點(diǎn)擊應(yīng)用(切記是應(yīng)用而非確定),但這種辦法依舊不能一勞永逸(惱)。
法四:
打開文件資源管理器,找到visual studio 的安裝路徑,然后在該路徑下搜索 “newc++file.cpp” (或可直接搜索,路徑越細(xì)查找速度越快)
?找到這個(gè)文件后復(fù)制粘貼到桌面上
?輸入#define? _CRT_SECURE_NO_WARNINGS,后保存退出
?將文件拖回原來的位置,點(diǎn)擊替換目標(biāo)中的文件,之后點(diǎn)擊確認(rèn)就好(如果直接在原位置更改保存的話會(huì)要管理員權(quán)限導(dǎo)致無法保存)
此后我們在VS中創(chuàng)建新的源C/CPP文件時(shí)會(huì)在開頭自動(dòng)輸入文章來源:http://www.zghlxwxcb.cn/news/detail-784372.html
#define? ?_CRT_SECURE_NO_WARNINGS,一勞永逸解決問題。文章來源地址http://www.zghlxwxcb.cn/news/detail-784372.html
到了這里,關(guān)于解決VS中scanf()函數(shù)報(bào)錯(cuò)問題的四種方案(詳細(xì))的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!