目錄
【前言】
一、scanf報錯示例
二、解決使用scanf報錯的方法
解決方法1(不推薦)
解決方法2(不推薦)
解決方法3(強烈推薦)
第一步
第二步
第三步
三、效果演示(方法三)
【最后】
- 🎈個人主頁:庫庫的里昂
- ?🎐CSDN新晉作者
- ?🎉歡迎 👍點贊?評論?收藏
- ???其他專欄:代碼小游戲、C語言初階
- ???收錄專欄:編程小白
- ?🤝希望作者的文章能對你有所幫助,有不足的地方請在評論區留言指正,大家一起學習交流!🤗
【前言】
- 寶子們好呀!在上一篇文章中教大家任何安裝完成Visual Studio 2022,還沒有安裝的朋友們可以到這里來看一下呀:Visual Studio 2022下載安裝教程
- 安裝完成后,很多新手小白在使用Visual Studio 2022編譯器的過程中使用到scanf后會出現報錯的情況,也不知道如果改正,所以今天我就來給大家分享解決這個問題的辦法。
一、scanf報錯示例
我們在Visual Studio 2022里面使用scanf是不是出現過這樣的錯誤,其實是因為Visual Studio 2022這個編譯器并不是完全按照C語言的標準來的!
我們輸入一個簡單的程序
代碼示例:
#include<stdio.h>
int main()
{int a = 0;scanf("^%d", &a);printf("%d", a);return 0;
}
結果報錯:
????
圖中顯示:
'scanf': This function or variable may be unsafe. Consider using scanf_?s instead.To disable deprecation, use_CRT_SECURE_NO_WARNINGS. See online help for details.
意思就是
scanf:
- 此函數或變量可能不安全。請考慮改用scanf_s。
- 禁用不建議使用,請使用_CRT_SECURE_NO_WARNINGS。
所以說錯誤出現在scanf身上,下面我們來看解決辦法
二、解決使用scanf報錯的方法
現在網上常見的幾種解決 scanf 函數不安全問題的方法有3種,下面我來一 一介紹。
解決方法1(不推薦)
根據報錯提示將scanf函數替換成scanf_s即可
代碼示例:
#include<stdio.h>
int main()
{int a = 0;scanf_s("%d", &a);printf("%d", a);return 0;
}
代碼結果:
??
我們可以看到scanf這個問題解決了,但是因為scanf_s這個函數是VS提供的,其它編譯器沒有。所以說,如果你在代碼中使用了scanf_s函數,代碼就不跨平臺了(即沒有了可移植性),所以并不推薦大家使用這種方法。
解決方法2(不推薦)
在使用scanf函數的.c文件的第一行加入?
代碼示例:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{int a = 0;scanf("%d", &a);printf("%d", a);return 0;
}
代碼結果:
??
我們可以看到scanf這個問題解決了
注意:
- define與_CRT_SECURE_NO_WARNINGS之間要有空格,不然依舊會出錯。
- 添加的這行代碼一定要放在.c文件的第一行,一定要放在.c文件的第一行,一定要放在.c文件的第一行(重要的事情說三遍)。
?我們可以看到scanf這個問題解決了,但是使用這種方法,每個.c源文件都需要手動添加,比較麻煩,所以并不推薦大家使用這種方法。
解決方法3(強烈推薦)
第一步
在電腦中找到 “newc++file.cpp” 文件。
路徑:C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\VC\VCProjectItems
??
考慮到很多同學放的位置不一樣,這里我推薦同學下載一個軟件, “Everything”,這個軟件可以幫助大家迅速找到你電腦中的任何文件,在許多時候都十分有用。
?打開Everything,輸入newc++file.cpp,再查看代碼路徑
??
第二步
把此文件復制粘貼到桌面上,然后打開它,在里面加上
“#define _CRT_SECURE_NO_WARNINGS 1” ,然后保存退出。
??
??
??
????
??
第三步
把桌面上修改過后的文件保存下來,到 “newc++file.cpp” 文件路徑下粘貼上去,然后點擊“替換目標中的文件”,就大功告成了。
??
??
注:把 “newc++file.cpp” 文件復制粘貼到桌面上在修改其中內容然后在替換原文件的原因是:如果我們直接修改 “newc++file.cpp” 文件中的內容,系統會向我們索要管理員權限,而上面的方法則不會。
三、效果演示(方法三)
我們任意新建一個.c文件,查看是否會有這么一段代碼
??
??
??
OK,果然有這么一段代碼,至此我們的問題就完全解決了!🎉🎉🎉
【最后】
到這里我們的Visual Studio 2022就可以正常使用了,有任何問題都可以在評論區留言或者直接私信我,我會一 一解答大家的問題,希望這篇文章對你有幫助。
??