C语言学习笔记中,如何高效掌握长尾词的用法和技巧?

2026-04-11 21:031阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1285个文字,预计阅读时间需要6分钟。

C语言学习笔记中,如何高效掌握长尾词的用法和技巧?

1. Visual Studio 2019 使用方法+首次使用 Visual Studio 2019 编写 C 语言代码程序运行非常快,导致控制台窗口一闪而过,设置如下: - 点击程序右键,选择属性 - 在属性设置中,选择链接器->系统->子系统选项,将其设置为控制台应用程序

1、Visual Studio2019用法

  • 首次使用VisualStudio2019编写C语言代码程序运行非常快,导致控制台窗口一闪而逝,设置这里:
  • ①选中程序右键选择属性
  • ②选择如下:链接器-->系统-->子系统:控制台

  • 快捷键Fn+F10会出现如下箭头:
  • 说明main函数是程序的入口
  • Fn+F10按一次程序向下执行一行

2、#define _CRT_SECURE_NO_WARNINGS 1的作用

当我们的程序不加这一行代码时:

//#define _CRT_SECURE_NO_WARNINGS 1 //让警告失效 int main() { int num1 = 0; int num2 = 0; int sum = 0; printf("请输入两个数字:>"); scanf("%d%d", &num1, &num2); //scanf //strcpy //strlen //strcat //标准库函数是不安全的 sum = num1 + num2; printf("num1+ num2 = %d\n", sum); return 0; }

产生如下警告:

D:\dev\c\84\test_4_17\test.c(46,2): error C4996: '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.

翻译为:

错误代号:C4996:'scanf':这个函数或变量可能不安全。考虑使用scanf_s替换。让描述失效,使用 _CRT_SECURE_NO_WARNINGS

原因是:

scanf函数是C语言提供的,scanf_s函数不是标准C语言提供的,是VS编译器提供的。不推荐使用scanf_s函数代替scanf函数。若使用scanf_s函数,那代码只有VS编译器才能识别出来。(没了跨平台、可移植性)

注意:

#define _CRT_SECURE_NO_WARNINGS 1 需要放在源代码的第一行

如何在每次新建源文件时自动添加这一行代码?

在newc++ file.cpp中添加 #define _CRT_SECURE_NO_WARNINGS 1 即可。

3、scanf返回值被忽略的问题

问题原因:

在ANSI C中只有scanf(),没有scanf_s(),但是scanf()在读取时不检查边界,所以可能会造成内存泄漏。于是Microsoft公司在VS编译器中提供了scanf_s(),如果想继续使用scanf这个不安全的函数,可以通过以下方法解决。

方法①:

把scanf改成:scanf_s

这是VS编译器特有,既然觉得scanf()不安全,那它就自己定义了一个scanf_s()。

方法②:

编译器错误提示的原因是因为VS中的SDL检查,只需要找到它并关闭就可以了。

关闭步骤:右键“项目文件” —— “属性” —— “配置属性” ——“C/C++”——“常规”——“SDL检查”改为“否”即可,如图所示

改为否后,再次编译就没问题了。

方法③:

在C语言程序开头添加代码:#pragma warning(disable:4996)//全部关掉

(或者)

在C语言程序开头添加代码:#pragma warning(once:4996)//仅显示一个

方法④:

在C语言程序开头添加代码:#define _CRT_SECURE_NO_WARNINGS 1

//忽略安全检测

每次都要加这么一串代码的话是不是感觉有点费力?

其实不用那么麻烦,我们只需要在VS中加入_CRT_SECURE_NO_WARNINGS这个宏就可以了,具体操作如下图所示:

4、在github克隆仓库到本地报错

Git报错: Failed to connect to github.com port 443 解决方案

两种情况:

第一种情况自己有vpn,网页可以打开github。说明命令行在拉取/推送代码时并没有使用vpn进行代理

第二种情况没有vpn,这时可以去某些网站上找一些代理ip+port

解决办法:配置http代理Windows、Linux、Mac OS 中 git 命令相同:

配置socks5代理

git config --global http.proxy socks5 127.0.0.1:7890 git config --global https.proxy socks5 127.0.0.1:7890

配置http代理

git config --global http.proxy 127.0.0.1:7890 git config --global https.proxy 127.0.0.1:7890

注意:

命令中的主机号(127.0.0.1)是使用的代理的主机号(自己电脑有vpn那么本机可看做访问github的代理主机),即填入127.0.0.1即可,否则填入代理主机 ip(就是网上找的那个ip)

命令中的端口号(7890)为代理软件(代理软件不显示端口的话,就去Windows中的代理服务器设置中查看)或代理主机的监听IP,可以从代理服务器配置中获得,否则填入网上找的那个端口port

socks5和http两种协议由使用的代理软件决定,不同软件对这两种协议的支持有差异,如果不确定可以都尝试一下
主机号和端口号可在代理的位置查看(自己有vpn的需要查看)


查看代理命令

git config --global --get http.proxy git config --global --get https.proxy

取消代理命令

有时上传文件至github中也会出现以下命令:

Failed to connect to github.com port 443。

这时就需要我们取消代理命令

git config --global --unset http.proxy git config --global --unset https.proxy








C语言学习笔记中,如何高效掌握长尾词的用法和技巧?

本文共计1285个文字,预计阅读时间需要6分钟。

C语言学习笔记中,如何高效掌握长尾词的用法和技巧?

1. Visual Studio 2019 使用方法+首次使用 Visual Studio 2019 编写 C 语言代码程序运行非常快,导致控制台窗口一闪而过,设置如下: - 点击程序右键,选择属性 - 在属性设置中,选择链接器->系统->子系统选项,将其设置为控制台应用程序

1、Visual Studio2019用法

  • 首次使用VisualStudio2019编写C语言代码程序运行非常快,导致控制台窗口一闪而逝,设置这里:
  • ①选中程序右键选择属性
  • ②选择如下:链接器-->系统-->子系统:控制台

  • 快捷键Fn+F10会出现如下箭头:
  • 说明main函数是程序的入口
  • Fn+F10按一次程序向下执行一行

2、#define _CRT_SECURE_NO_WARNINGS 1的作用

当我们的程序不加这一行代码时:

//#define _CRT_SECURE_NO_WARNINGS 1 //让警告失效 int main() { int num1 = 0; int num2 = 0; int sum = 0; printf("请输入两个数字:>"); scanf("%d%d", &num1, &num2); //scanf //strcpy //strlen //strcat //标准库函数是不安全的 sum = num1 + num2; printf("num1+ num2 = %d\n", sum); return 0; }

产生如下警告:

D:\dev\c\84\test_4_17\test.c(46,2): error C4996: '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.

翻译为:

错误代号:C4996:'scanf':这个函数或变量可能不安全。考虑使用scanf_s替换。让描述失效,使用 _CRT_SECURE_NO_WARNINGS

原因是:

scanf函数是C语言提供的,scanf_s函数不是标准C语言提供的,是VS编译器提供的。不推荐使用scanf_s函数代替scanf函数。若使用scanf_s函数,那代码只有VS编译器才能识别出来。(没了跨平台、可移植性)

注意:

#define _CRT_SECURE_NO_WARNINGS 1 需要放在源代码的第一行

如何在每次新建源文件时自动添加这一行代码?

在newc++ file.cpp中添加 #define _CRT_SECURE_NO_WARNINGS 1 即可。

3、scanf返回值被忽略的问题

问题原因:

在ANSI C中只有scanf(),没有scanf_s(),但是scanf()在读取时不检查边界,所以可能会造成内存泄漏。于是Microsoft公司在VS编译器中提供了scanf_s(),如果想继续使用scanf这个不安全的函数,可以通过以下方法解决。

方法①:

把scanf改成:scanf_s

这是VS编译器特有,既然觉得scanf()不安全,那它就自己定义了一个scanf_s()。

方法②:

编译器错误提示的原因是因为VS中的SDL检查,只需要找到它并关闭就可以了。

关闭步骤:右键“项目文件” —— “属性” —— “配置属性” ——“C/C++”——“常规”——“SDL检查”改为“否”即可,如图所示

改为否后,再次编译就没问题了。

方法③:

在C语言程序开头添加代码:#pragma warning(disable:4996)//全部关掉

(或者)

在C语言程序开头添加代码:#pragma warning(once:4996)//仅显示一个

方法④:

在C语言程序开头添加代码:#define _CRT_SECURE_NO_WARNINGS 1

//忽略安全检测

每次都要加这么一串代码的话是不是感觉有点费力?

其实不用那么麻烦,我们只需要在VS中加入_CRT_SECURE_NO_WARNINGS这个宏就可以了,具体操作如下图所示:

4、在github克隆仓库到本地报错

Git报错: Failed to connect to github.com port 443 解决方案

两种情况:

第一种情况自己有vpn,网页可以打开github。说明命令行在拉取/推送代码时并没有使用vpn进行代理

第二种情况没有vpn,这时可以去某些网站上找一些代理ip+port

解决办法:配置http代理Windows、Linux、Mac OS 中 git 命令相同:

配置socks5代理

git config --global http.proxy socks5 127.0.0.1:7890 git config --global https.proxy socks5 127.0.0.1:7890

配置http代理

git config --global http.proxy 127.0.0.1:7890 git config --global https.proxy 127.0.0.1:7890

注意:

命令中的主机号(127.0.0.1)是使用的代理的主机号(自己电脑有vpn那么本机可看做访问github的代理主机),即填入127.0.0.1即可,否则填入代理主机 ip(就是网上找的那个ip)

命令中的端口号(7890)为代理软件(代理软件不显示端口的话,就去Windows中的代理服务器设置中查看)或代理主机的监听IP,可以从代理服务器配置中获得,否则填入网上找的那个端口port

socks5和http两种协议由使用的代理软件决定,不同软件对这两种协议的支持有差异,如果不确定可以都尝试一下
主机号和端口号可在代理的位置查看(自己有vpn的需要查看)


查看代理命令

git config --global --get http.proxy git config --global --get https.proxy

取消代理命令

有时上传文件至github中也会出现以下命令:

Failed to connect to github.com port 443。

这时就需要我们取消代理命令

git config --global --unset http.proxy git config --global --unset https.proxy








C语言学习笔记中,如何高效掌握长尾词的用法和技巧?