发生错误error C2664: 'strcmp' : cannot convert parameter 2 from 'char' to 'const char *'

问题遇到的现象和发生背景

发生错误error C2664: 'strcmp' : cannot convert parameter 2 from 'char' to 'const char *'

问题相关代码,请勿粘贴截图

void Findstudentno()
{//按照学号查找学生信息
printf("\t\t欢迎使用学生宿舍管理系统\n\n");
char n;
int k;
printf("\t请输入需要查找学生的学号:");
scanf("%s",n);
printf("\n\n");
for(k=0;k
{
if(strcmp(L.elem[k].no,n) = =0)
{
printf("学号\t姓名\t宿舍号\t床位号\t电话号码\n");

        return;
    }
}
printf("\t未查找到该学生\n");
return;

}
结构体为
typedef struct{
char no[100];//学号
char name[100];//姓名
char dor[100];//宿舍号
char bed[100];//床位号
char tel[100];//电话号码
}student;

运行结果及报错内容

发生错误error C2664: 'strcmp' : cannot convert parameter 2 from 'char' to 'const char *'

char n;改为char n[1000];
strcmp是字符串比较函数,你定义的n是个char类型,不可以比较。况且你用%s输入n,那么n就应该是个字符数组才对啊

char n;
改成
char n[100];

n是字符类型

printf("%3s\t%5s\t%3s\t%2s\t%11s\n",L.elem[k].no,L.elem[k].name,\
            L.elem[k].dor,L.elem[k].bed,L.elem[k].tel);

中间空了一行这个 系统不让上传

strcpy()函数只能用于char[]这样的字符串,不能用char*
http://t.csdn.cn/y3WEc

strcmp(L.elem[k].no,n) = =0中strcmp用法用错

关于该问题,我找了一篇非常好的博客,你可以看看是否有帮助,链接:求助错误[Error] invalid conversion from 'char' to 'const char*' [-fpermissive]