1、scanf()不会检查输入边界,可能造成数据溢出;
scanf_s()会进行边界检查。
2、比如输入name[5],scanf("%s",name),如果输入wangsicong,则会使得icong溢出进入其他地方,造成程序错误;
scanf_s("%s",name),则只会接收前5个输入,其后的无效,避免了程序的漏洞。
1、scanf()不会检查输入边界,可能造成数据溢出;
scanf_s()会进行边界检查。
2、比如输入name[5],scanf("%s",name),如果输入wangsicong,则会使得icong溢出进入其他地方,造成程序错误;
scanf_s("%s",name),则只会接收前5个输入,其后的无效,避免了程序的漏洞。