在VS2017里写C语言有哪些函数的写法和在VC环境下写C语言是不一样的?

                            scanf --> scanf_s
                            gets  -->  gets_s

VS2013开始,默认不允许使用不安全的函数。所谓不安全的函数就是指不会对缓冲区的边界做出检查的函数。
比如 strcpy(dest, src),如果前者只有10个字节的空间,后者有100个字节的字符串,这个函数会导致dest后面91个内存单元的数据被覆盖。

但是你还是可以通过定义_CRT_SECURE_NO_WARNINGS让2017允许编译这样的代码。

后面加_S表示更高的安全性,因为字符串操作有些函数并没有检查长度溢出的问题导致安全漏洞的产生,所以高版本的VS建议使用安全的函数进行编程。