关于vs编译器使用scanf函数的疑问


#include<stdio.h>
int main()
{
    char s[100] = { 0 };
    scanf_s("%s",s);
    printf("%s", s);
}

真奇怪,为什么这么一段简单的代码都会报错

scanf_s需要的参数要多些(仅限于输入为%s类型),如果要像代码那样,只能用scanf而非scanf_s,一般scanf_s后面还而外要一个int参数来表示参数缓冲区大小,例子:

char str1[100];
scanf_s("%s",str1,100);

你既然要使用scanf_s而不直接使用scanf,那就应该先查查scanf_s的用法,这东西你随便一搜一大堆,而且你换个好一点的IDE,比如VS,会自动提示你它都有哪些参数,做什么用的。