scanf_s和scanf的区别

scanf_s需要设置缓冲区 读取长度 那么这个读取长度怎么设置呢?有时候用scanf_s不行但是用scanf就可以 我是一个初学者 有些不太明白。。有大佬介绍一下两者的区别吗?还有如何设置这个读取的长度呢?谢谢了!

阅读 6.7k
1 个回答

/*
scanf_s是visual studio搞出来的。把创建项目时的那个安全开发生命周期检查前面的勾勾去掉就行了。再说了,你在visual studio里面弄个scanf_s出来,将来其他的IDE不认它。你也说了,你是一个初学者,这个scanf_s可以先不管它。
*/

给你一小段代码先看看

#include<stdio.h>

int main()
{
   char c;
   printf("请输入一个字母:");
   scanf_s("%c", &c, 1);
   return 0;
}

后面那个1就是设置读取的长度。
有时候用scanf_s不行但是用scanf就可以,我感觉就是你没设置读取的长度吧。

宣传栏