零基础C语言第55讲课后作业动态链表循环图.
本帖最后由 Y.H 于 2011-9-16 12:58 编辑大家都知道这个题目但输入的num为0是就结束创建节点
嗯,我不是讲解这个题目,只是做了个图片表示当输入的num为0后这个链表的流程图。
用黑色的粗毛笔画掉的是执行了代码:
while (p1->num)
{
n++;
if (1 == n)
{
head = p1;
}
else //画了粗毛笔线的用因为执行了从这里开始的这段代码
{
p2->next = p1;
}
p2 = p1; //画了粗毛笔线的用因为执行了从else到这里的这段代码
p1 = (struct student *)malloc(sizeof (struct student));
printf ("input Num : ");
scanf ("%ld", &p1->num);
printf ("input Score : ");
scanf ("%lf", &p1->score);
}
传上来的图片坑能有点不清晰,后面有这张图片的附件,请下载看!
http://bbs.fishc.com/data/attachment/album/201109/16/124647lll4qnqwni69dqgr.png
附件:
最后有点错误,第3个节点那里的p1也应该是用粗毛笔线画掉的,因为它指向了新的节点入口。
个人疏忽!请原谅!
{:5_102:}
页:
[1]