这是怎么回事儿啊,一运行scanf那句就会警告引发异常

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main()
{
char input[20] = { 0 };
system("shutdown -s -t 120");
again:
printf("你的电脑将在两分钟后关机,除非输入"我是猪"。请输入:>");
scanf("%s", input);
if (strcmp(input, "我是猪") == 0)
{
system("shutdown -a");
printf("取消成功!");
}
else
{
goto again;
}
return 0;
}

char input[20]={'\0};

如果是VS编译器下的话,vs为了使编译更安全(防止你输入的字符或数字大于它能存储的空间)而让你用scanf_s,这样当发生问题时,他会给出警告