自己设计的c语言程序有问题

img


如上,请问一下应该怎么解决,是将studentidnumber设成全局变量吗?

根据题意,
情况1
假如,你的studentidnumber可能是"123456"这样的一串数字,
那么它的类型就应该是char或者char [20]之类的指针或者数组
函数参数void detection(char studentidnumber)就该改成void detection(char
studentidnumber);
情况2,
假如,你的studentidnumber 确实是char类型。
那么strcmp(studentidnumber,student[i].studentidnumber) == 0这里,可以改成studentidnumber == student[i].studentidnumber
或者strcmp(studentidnumber,student[i].studentidnumber) == 0改成strcmp(&studentidnumber,&student[i].studentidnumber) == 0

strcmp对比的是char*,也就是数组
你的那个student是自学,char类型的