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 *'
请大神帮忙看一下。。。这个应该怎么改啊 展开
{
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 *'
请大神帮忙看一下。。。这个应该怎么改啊 展开
1个回答
展开全部
问题在你的结构,是否定义了 成员 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);
} };
完全正确。
这里的错误信息说你 定义的 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();
这是我开始的代码,我还是不大明白怎么改 能再详细一点嘛就应该改成啥样的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询