scanf_s函数的正确运用

发布时间 2023-08-15 19:59:33作者: 雏扬

scanf_s函数的正确运用

scanf_s函数是安全输入函数,用于读取字符串时,必须提供一个数字以表明最多读取多少位字符,以防止溢出。

例如:

char name[40];

//scanf_s("%s", name);
scanf_s("%s", name, sizeof(name)); // GPT: Corrected scanf_s usage for string input

此处如果使用注释行的代码,将会导致程序崩溃(在按下回车键之后没有反应,随后提示”(进程 18988)已退出,代码为 -1073740791。“)这就是因为没有提供表明最多读取多少位字符的数字而导致的。

不过对于数字来讲是没有这个问题的,因为不管是int,long,float还是double,都规定有自己的取值范围,而不像字符类型,长度是由用户自行定义的。因此,在读取数字时,scanf_s函数不需要提供第三个参数。