[英]Segmentation Fault (core dumped) when using strcmp
我正在制作一個注冊客戶汽車並具有一些過濾選項的應用程序。 我幾乎可以輕松完成所有這些操作,但是 model 的過濾不起作用。 如果有人可以指導我做錯了什么,將不勝感激。
gitlab 中的完整代碼: https://gitlab.com/salgadoth/car-ownership-in-c/-/blob/master/carownership.Z4A8A08F09D37B737956490384
void listModel()
{
int i, comp;
char model[20];
printf("\nTYPE IN DESIRED MODEL:\n");
fflush(stdin);
scanf("%s", &model);
printf("DESIRED MODEL: %s\n\n", model);
for(i = 0; i < counter; i++)
{
if(strcmp(model, car[i].model) == 0)
{
printf("\nBRAND: %s", car[i].brand);
printf("\nMODEL: %s", car[i].model);
printf("\nLICENSE PLATE: %s", car[i].license_plate);
printf("\nYEAR OF FABRICATION: %d\n", car[i].year);
printf("---------------------------\n");
}
else
{
printf("\nERROR - NO CAR FOUND");
return 1;
}
}
}
您永遠不會初始化counter
,因此沒有什么可以阻止您的for
循環運行到您未初始化的對象中。 如果model
不包含有效字符串,則strcmp
可能會出錯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.