如何定义单链表,和写一个输入函数(学号,姓名,性别)?

 我来答
百度网友ecdc68a
2012-05-22 · TA获得超过343个赞
知道小有建树答主
回答量:444
采纳率:0%
帮助的人:249万
展开全部
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <string.h>
#define N 5
typedef struct node *link;
struct node {
int num;
char name[20];
char sex;
link next;
};
link NODE(int num,char name[],char sex, link next)
{
link t = malloc(sizeof *t);
t->num = num;
t->sex = sex;
strcpy(t->name,name);
t->next = next;

return t;
}
void insert_node(link head, int num,char name[],char sex)
{
link t;
for (t = head; t->next; t = t->next)
if (num <= t->next->num)
break;
t->next = NODE(num,name,sex, t->next);
}

void show_list(link head)
{
link t;
for (t = head->next; t; t = t->next){
printf("%3d\t", t->num);
printf("%s\t",t->name);
printf("%c\t",t->sex);
}
printf("\n");
}
int main(void)
{
int i,num;
char name[20] = {0},temp[10] = {0};
char sex;
link head = NODE(0,"\0",0, NULL);

for (i = 0; i < N; i++){
printf("please input number\n");
fgets(temp,10,stdin);
num = atoi(temp);
printf("please input name\n");
fgets(name,sizeof(name),stdin);
name[strlen(name) - 1] = '\0';
printf("please input sex\n");
fgets(&sex,3,stdin);
insert_node(head,num,name,sex);
}
show_list(head);

return 0;
}

看看吧

别忘了给分!
追问
error C2440: 'initializing' : cannot convert from 'void *' to 'struct node *'
Conversion from 'void*' to pointer to non-'void' requires an explicit cast
执行 cl.exe 时出错.

aaa.obj - 1 error(s), 0 warning(s)
这:link t = malloc(sizeof *t);出错。这错误是什么意思?求助!高手帮帮忙。
追答
我这显示没错误的,对天发誓 我用的vc6.0
双鱼座大叔0309
2012-05-22 · TA获得超过255个赞
知道小有建树答主
回答量:209
采纳率:100%
帮助的人:168万
展开全部
自己先写程序呀,有什么问题再来问
如果别人写好的给你,对你也没有什么帮助的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式