日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

VS中scanf為何會報錯詳解_C 語言

作者:老明l ? 更新時間: 2023-05-24 編程語言

發現問題?

簡單來講,scanf會強行輸入內容,所以是不安全的。

我們來看這樣的例子:

#include <iostream>
using namespace std;

int main()
{
	char demo[3];
	scanf("%s", demo);
	return 0;
}

對于以上代碼,當我們輸入字符不超過3時,程序可以正常運行,但當我們輸入字符大于3,scanf仍將所有輸入字符存入數組,這顯然會導致數組的錯誤訪問,因此VS認為scanf是不安全的。

解決辦法

第一,我們可以使用scanf_s,它是VS提供的,但若使用它將意味著程序只能在VS編譯器運行,顯然是不合理的。

第二種方法是在程序開頭加上”#define _CRT_SECURE_NO_WARNINGS 1“

請添加圖片描述

但是如果我們每次打開都需要輸入的話是比較麻煩的。因此,我們可以搜索new++file.cpp文件將該句子加到文件當中,以后在創建新的程序時VS就會自動在開頭加上。

路徑參考:D:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\VC\VCProjectItems

找到文件后使用記事本打開并輸入”#define _CRT_SECURE_NO_WARNINGS 1“即可,如圖。

請添加圖片描述

總結?

原文鏈接:https://blog.csdn.net/changxiabb/article/details/129060793

  • 上一篇:沒有了
  • 下一篇:沒有了
欄目分類
最近更新