C 无故锉削

C 无故锉削,c,crash,C,Crash,在gendersearch函数期间,当它达到输入我希望看到的性别的时间时,会跳过输入,然后在没有给出原因的情况下崩溃。据我所知,其他函数工作正常(请在此处输入,以防错误可能是由其中一个函数引起的) #包括 #包括 #包括 void getinfo(char*nam[],int-ag[],char-gender[],int-count){ int-y; 对于(y=0;y

在gendersearch函数期间,当它达到输入我希望看到的性别的时间时,会跳过输入,然后在没有给出原因的情况下崩溃。据我所知,其他函数工作正常(请在此处输入,以防错误可能是由其中一个函数引起的)

#包括
#包括
#包括
void getinfo(char*nam[],int-ag[],char-gender[],int-count){
int-y;
对于(y=0;y最年长者){
最大值=ag[y];
最年长的=y;
}
}
printf(“最年长的学生是:\t%s”,nam[eldest]);
printf(“\n姓名:\t%c”,性别[最年长]);
printf(“\n年龄为:\t%d\n”,ag[最年长];
}
无效性别搜索(字符*nam[],整数ag[],字符性别[],整数计数){
int-y;
字符选择;
printf(“您希望看到哪种性别(男-m/女-f)?\n”);
scanf(“%c”,选择);
开关(选择){
案例“m”:printf(“男学生如下:\n”);
案例“f”:printf(“女学生如下:\n”);
默认值:printf(“请输入m表示男性或f表示女性!\n”);
}
如果(选项='m'){
对于(y=0;y50){
printf(“学生太多了!”);
}否则{
getinfo(姓名、年龄、性别、金额);
findeldest(姓名、年龄、性别、金额);
}
性别调查(姓名、年龄、性别、金额);
系统(“暂停”);}

您正在使用scanf而不使用&in
void gendersearch()


改为:

 scanf ("%c", &choice);

Scanf需要的是变量的地址,而不是它的值。

在这些情况下,您可能需要一些中断。我做了所有建议的更正,但问题仍然存在occurs@RajayJB代码固定为建议工程,如果你的新代码有问题,请发一个新问题。我做了所有建议的更正,问题仍然存在
 scanf ("%c", choice);
 scanf ("%c", &choice);