scanf与scanf_s的区别
1.scanf()不会检查输入边界,可能造成数据溢出。scanf_s()会进行边界检查。
_s”后缀的函数是为了让原版函数更安全,传入一个和参数有关的大小值,避免引用到不存在的元素,防止hacker利用原版的不安全性(漏洞)黑掉系统。
2.scanf的调用格式为:scanf("<格式化字符串>",<地址表>)。
scanf_s()用于读取字符串时,必须提供一个数字以表明最多读取多少位字符,以防止溢出。
scanf_s("%s" , buffer,128);//此处必须加上128,表示最多可以读取128位,不然运行会报错。
唯有热爱方能抵御岁月漫长。