为什么VS这样会出错
如果把scanf_s换成scanf在其他编译器上就没问题
#include
#include
struct Person //声明结构体类型struct Person
{
char name[20]; //候选人姓名
int count; //候选人得票数
}leader[3] = { "Li", 0, "Zhang", 0, "Sun", 0 }; //定义结构体数组并初始化
int main()
{
int i, j;
char leader_name[20]; //定义字符数组
for (i = 1; i <= 10; i++)
{
scanf_s("%s", leader_name); //输入所选的候选人姓名
for (j = 0; j < 3; j++)
{
if (strcmp(leader_name, leader[j].name) == 0)
{
leader[j].count++;
}
}
}
printf("\nResult:\n");
for (i = 0; i < 3; i++)
printf("%5s:%d\n", leader[i].name, leader[i].count);
return 0;
}
scanf_s输入字符串的时候要输入字符串长度。scanf_s("%s", leader_name,20);
代码前面加#define _CRT_SECURE_NO_WARNINGS,后可以把scanf_s改成scanf。