strcmp' : cannot convert parameter 2 from 'int' to 'const char *'怎么改

voidselect_banji(){charbanji[10];intm;printf("请输入班级:");scanf("%s",banji);for(m=0;m<i;... void select_banji()
{
char banji[10];
int m;
printf("请输入班级:");
scanf("%s",banji);
for(m = 0;m < i;m++)
{
if(!strcmp(banji,Student[m].banji)==0)
{
printf("学号是:%d\t",Student[m].xuehao);
printf("班级是:%s\t",Student[m].banji);

C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\11\12.cpp(172) : error C2664: 'strcmp' : cannot convert parameter 2 from 'int' to 'const char *'

请大神帮忙看一下。。。这个应该怎么改啊
展开
 我来答
金色潜鸟
2018-06-05 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5584万
展开全部
问题在你的结构,是否定义了 成员 char banji[10];
这里的错误信息说你 定义的 Student[m].banji 是 int 型,定义错了。strcmp 用于字符串比较。
假如定义是:
struct { char banji[10]; int xuehao; } Student[2]={ {"101",555},{"102",666}};
那么:
char banji[10]="102";
int m=2;
for (m=0;m<2;m++)
{ if( strcmp(banji,Student[m].banji)==0)
{ printf("%d\t %s\t",Student[m].xuehao,Student[m].banji);
} };
完全正确。
追问
struct time{ int hour;  int minute;  };
typedef struct student {int xuehao; int banji; };
struct student Student[30];static int i =0; void select_banji();
这是我开始的代码,我还是不大明白怎么改 能再详细一点嘛就应该改成啥样的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式