c语言结构体的问题
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没有找到指定...
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没有找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数是strcmp)。这是2c上机题。我对答案不太明白。我希望各位c高手能帮我解释下要求编写部分,越详细越好!
typedef struct
{ char num[10];
int s;
}STREC;
STREC fun (STREC *a char *b )
{
int i;
STREC t={" ",-1};
for (i=0;i<N;i++)
{
if(strcmp(a[i].num,b)==0)
return a[i];
} return t;就给我解释清楚这个大括号里的内容就行!谢谢大家!
最后少个大括号},
能否给小弟解释下这个if(strcmp(a[i].num,b)==0) 的具体含义呢?这个最含糊了! 展开
typedef struct
{ char num[10];
int s;
}STREC;
STREC fun (STREC *a char *b )
{
int i;
STREC t={" ",-1};
for (i=0;i<N;i++)
{
if(strcmp(a[i].num,b)==0)
return a[i];
} return t;就给我解释清楚这个大括号里的内容就行!谢谢大家!
最后少个大括号},
能否给小弟解释下这个if(strcmp(a[i].num,b)==0) 的具体含义呢?这个最含糊了! 展开
5个回答
展开全部
STREC fun (STREC *a char *b )
{
int i;
STREC t={" ",-1}; //在结构体变量中给学号置空串,给成绩置-1,
for (i=0;i<N;i++) //遍历
{
if(strcmp(a[i].num,b)==0) //如果找到则返回找到的内容
return a[i]; //返回找到的内容
}
return t;//若没有找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。
}
{
int i;
STREC t={" ",-1}; //在结构体变量中给学号置空串,给成绩置-1,
for (i=0;i<N;i++) //遍历
{
if(strcmp(a[i].num,b)==0) //如果找到则返回找到的内容
return a[i]; //返回找到的内容
}
return t;//若没有找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。
}
展开全部
STREC t={" ",-1}; //没有找到指定学号的情况,返回这个结构体
// 从已有的学生数据中匹配输入的学号,匹配上了(学号相等)返回这个结构体
for (i=0;i<N;i++)
{
if(strcmp(a[i].num,b)==0)
return a[i];
}
return t;//没有找到指定学号的情况,返回这个结构体
// 从已有的学生数据中匹配输入的学号,匹配上了(学号相等)返回这个结构体
for (i=0;i<N;i++)
{
if(strcmp(a[i].num,b)==0)
return a[i];
}
return t;//没有找到指定学号的情况,返回这个结构体
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
意思是说,若学号的字符串的长度为0(学号置空串),就返回这个结构体变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
申明一个数据直接写成Elemtype
head,tail;需要指针可以Elemtype
*Position,你的*Position已经是申明好的指针,不是结构体类型
head,tail;需要指针可以Elemtype
*Position,你的*Position已经是申明好的指针,不是结构体类型
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我运行过,我把你的改了一下
struct
Elemtype
/*结点类型*/
{
int
data;
struct
Elemtype
*next;
}Lnode,*Position;//这里的那个逗号改成英文状态下的就行了
struct
/*链表类型*/
{
struct
Elemtype
head,tail;//这里原来的Position不是数据类型,所以我改成了这样,我不知道你是不是要的是这种数据类型。
int
length;
}LinkList;
struct
Elemtype
/*结点类型*/
{
int
data;
struct
Elemtype
*next;
}Lnode,*Position;//这里的那个逗号改成英文状态下的就行了
struct
/*链表类型*/
{
struct
Elemtype
head,tail;//这里原来的Position不是数据类型,所以我改成了这样,我不知道你是不是要的是这种数据类型。
int
length;
}LinkList;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询