vs中scanf与scanf_s的问题

今天照书上打代码遇到一个问题,群里问大佬也没人解释,后来还是自己查了半天资料才找到原因,详情如下:
vs中scanf与scanf_s的问题
在运行这个程序时我输入12程序就终止了,调试之后发现是第一个scanf出了问题。查阅资料后发现:在ANSI的词c中并没有scanf_s这个函数。这个函数是vs重新定义的,增加了scanf的安全性。当我们要用数组输入一个字符时dev上可以·char name(5)scanf("%s", &name);但是当输入字符超过数组所分配的空间时,这个程序就会造成溢出,多余的字符会分配到别的空间。在vs中要改成scnf("%s",&name,5)这样表示即使输入字符多了也只会取4个字符。
改过之后果然可以运行了:
vs中scanf与scanf_s的问题