C语言中编写两个函数我是新手,最近学到单向链表了,有一个疑惑.比如,假设编写函数creat是建立一个带有头结点的链表,编写函数take是顺序输出单向链表各结点数据的内容.函数creatstruct list{char

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 05:14:47
C语言中编写两个函数我是新手,最近学到单向链表了,有一个疑惑.比如,假设编写函数creat是建立一个带有头结点的链表,编写函数take是顺序输出单向链表各结点数据的内容.函数creatstruct list{char

C语言中编写两个函数我是新手,最近学到单向链表了,有一个疑惑.比如,假设编写函数creat是建立一个带有头结点的链表,编写函数take是顺序输出单向链表各结点数据的内容.函数creatstruct list{char
C语言中编写两个函数
我是新手,最近学到单向链表了,有一个疑惑.比如,假设编写函数creat是建立一个带有头结点的链表,编写函数take是顺序输出单向链表各结点数据的内容.
函数creat
struct list
{char data;
struct list * next;
};
SLIST *creat()
{ int c;
 SLIST *h,*s,*r;
 h=(SLIST *)malloc(sizeof(SLIST));    /*生成头结点*/
 r=h;                 /*r指向当前表尾*/
 scanf(“%d”,&c)          /*读入数据*/
 while(c!=1)              /*未读到数据结束标志时进入循环*/
 { s=(SLIST *)malloc(sizeof(SLIST));  /*生成一个新结点*/
  s->data=c            /*读入的数据存入新结点的data域*/
  r->next=s:           /*新结点连到表尾*/
  r=s:               /*r指向当前表尾*/
  scanf(“%d”,&c);        /*读入数据*/
 }
 r->next=‘\0’;          /*置链表结束标志*/
 return h;             /*返回表头指针*/:
}
函数take:
void take(SLIST *head)
{ SLIST *p; .
 p=head->next;            /*p指向头结点后的第一个结点*/
 if(p==‘\O’)
  printf(“Linklist is null!\n”);    /*链表为空(只有头结点)*/
 else                  /*链表非空*/
  {printf(“head”);
   do
    {printf(“->%d”,p->data);  /*输出当前结点数据域中的值*/
     p=p->next;         /*p指向下一个结点*/
    }
  while(p!=‘\O’);           /*未到链表尾,继续循环*/
   printf(“->end\n”);
  }
我想问的就是能不能在一个程序里面编写上面两个函数,然后在主函数里面实现先建立再输出呢.或者不需要编写函数?
上面的SLIST代表 struct list.如果可以怎么编写,直接在把上面两个函数写上,最后补上如下程序
void main()
{
struct list *pig;
pig=creat();
take(pig);

运行了就崩溃,哪里错了呢.讲会了加50分.关于形参实参,传值传址我懂的

C语言中编写两个函数我是新手,最近学到单向链表了,有一个疑惑.比如,假设编写函数creat是建立一个带有头结点的链表,编写函数take是顺序输出单向链表各结点数据的内容.函数creatstruct list{char
当然可以的

C语言中编写两个函数我是新手,最近学到单向链表了,有一个疑惑.比如,假设编写函数creat是建立一个带有头结点的链表,编写函数take是顺序输出单向链表各结点数据的内容.函数creatstruct list{char C语言编写最大公约数和最小公倍数,要调用两个函数菜鸟新手求大神帮我看一下这个编程哪里有问题,/*写两个函数,分别求两个整数的最大公约数和最小公倍数,在主函数中输入两个整数调用这 C语言题目:编写一个函数,选出数列中前两个最大数,返回主函数进行输出 C语言问题,编写一个程序计算矩形的面积和周长我是新手,很多不懂,初学. 请教一个简单的分段函数C语言程序的编写,具体看问题补充.一个分段函数.我的悬赏不多, 请谅解! 感谢了! 我是新手. C语言得掌握多少英语单词C语言入门得知道多少英语单词 才能编写啊 介绍基本这类的书好吗 我是自学新手 c语言编写.计算1+2+3+……+10的值,且将各个数字存放在一个数组中,输出数组的各元素的值和最后结果我是新手,麻烦给一个正确的程序.谢谢! 编写一个函数,用于执行两个矩阵的乘法.要求:数据输入输出在主函数中完成,用函数实现运算.c语言 C 语言 编写程序,计算分段函数: 用C语言编写程序:键盘输入a和b两个整数,要求用函数求两个数之和,在主函数main()中输出 求两个整数x,y的平方和,把求平方和的过程写成函数,在主函数中调用,x,y的值键盘输入.用C语言编写 编写一个程序用单链表存储多项式,并实现两个多项式相加的函数?C/C++语言 C语言 编写函数:输入两个正整数m,n,求它们的最大公约数和最小公倍数 求导大神指导C语言题目,我是新手, C语言:编写一个C程序,输入两个单精度实数,求这两个数之和,结果保留2位小数.编写一个C程序,输入两个单精度实数,求这两个数之和,结果保留2位小数. C语言编写两个函数,分别求其最大公约数和最小公倍数.并在主函数中输入任意两个正整数m和n,调用前两个函三、编写两个函数,分别求其最大公约数和最小公倍数.并在主函数中输入任意两个 用C语言编程:编写一函数求Fibnacci数列中fib(n)的值 图中,判断那两个顶点距离最远.采用广度优先算法?c语言编写