0

程序显示错误为标题。scanf_s 函数有什么问题?任何想法?提前致谢。

int main()
    {
        struct Students
        {
            char name[10];
            int  snum;
            float  point;
        }st[5];

int i;
for(i=0;i<5;i++)
{
    printf("-- Student Info --\n-");

    printf("Enter Your Name: ");
    scanf_s("%s",st[i].name);

    printf("\nEnter Your Number: ");
    scanf_s("%d",&st[i].snum);
}

return 0;
}
4

1 回答 1

0

当编译器检测到满足格式字符串中占位符所需的参数数量与提供的参数数量不匹配时,通常会出现这种类型的错误。

这是 Visual Studio 2015 及更高版本中提供的新警告。因此,要使您的代码正常工作,您需要提供两个参数,一个是地址,第二个是额外的 sizeof(variable) placeholder。

scanf_s("%s", &string, sizeof(string));

这将使代码正常工作。

于 2020-12-06T03:59:59.850 回答