这是函数代码
void add_peo(Pcon pcon)
{
if (pcon->count <= MAX_PEO)
{
printf("请输入姓名:");
scanf_s("%s", pcon->nb[pcon->count].name);
printf("请输入年龄:");
scanf_s("%d", &pcon->nb[pcon->count].age);
printf("请输入性别:");
scanf_s("%s", pcon->nb[pcon->count].sex);
printf("请输入电话:");
scanf_s("%s", pcon->nb[pcon->count].tele);
printf("请输入地址:");
scanf_s("%s", pcon->nb[pcon->count].addr);
pcon->count++;
printf("添加成功!\n");
}
else
printf("电话本已满!");
}
有错吗??
这种错误,一般是指针操作越界了。
请检查:
1) 数组的下标是否越界?例如:nb 数组的维数的最大值是否是 MAX_PEO
2) 如果是指针,是否分配了空间?例如:pcon
我猜测
if (pcon->count <= MAX_PEO) //改为 pcon->count < MAX_PEO
pcon->nb[pcon->count].name
这个空间有多大,你输入的是否越界了