全站数据
8 4 2 0 5 8 1

C语言中scanf_s和scanf区别是什么非常感谢

石油工程技术 | 简单学习,快乐成才!         
问题更新日期:2024-10-28 09:25:31

问题描述

C语言中scanf_s和scanf区别是什么非常感谢求高手给解答
精选答案
最佳答案

scanf()函数是标准C中提供的标准输入函数,用以用户输入数据

scanf_s()函数是Microsoft公司VS开发工具提供的一个功能相同的安全标准输入函数,从vc++2005开始,VS系统提供了scanf_s()。在调用该函数时,必须提供一个数字以表明最多读取多少位字符。

原因和区别:

scanf()在读取数据时不检查边界,所以可能会造成内存访问越界:

//例如:分配了5字节的空间但是用户输入了10字节,就会导致scanf()读到10个字节 char buf={''}; scanf(

"%s