在 Visual Studio 2013 中使用 printf、scanf 等標準 C 輸入輸出函數時,編譯器會報錯,提示改用 printf_s、scanf_s 等「安全版本」。雖然這些函數確實更安全,但在教學、OJ 刷題、快速原型開發等場景下,強制使用安全版本反而增加負擔。
在源文件最開頭(或預編譯頭文件中)添加以下指令即可抑制警告 C4996,繼續使用標準函數:
#pragma warning(disable:4996)
#pragma warning 是 MSVC 特有的編譯器指令,用於控制特定警告的啟用/禁用。4996 是「棄用標準 C 函數」的警告編號。disable 參數告訴編譯器忽略該警告,編譯可正常通過。_CRT_SECURE_NO_WARNINGS,一勞永逸,不污染源碼。#pragma warning(disable:4996),避免全局掩蓋潛在問題。printf_s/scanf_s 的正確用法(需傳緩衝區大小),才是正規軍寫法。#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> // 後續代碼可直接用 printf/scanf 無警告
該宏必須在 #include <stdio.h> 之前定義才生效。