c语言链表的建立和输出
1、if(h=NULL) 改为if(null==h)试试。
2、} pointer* u=head-next; while (u!=NULL) { //输出什么东西。。
3、DispList(sq); //输出表 printf(\n);DelElem(sq,3,e); //删除第三个元素 DispList(sq); //输出表 } 其他函数和链表结构体定义包在头文件中。
4、c语言里面的链表是一种数据结构 是一种线形的存储结构 链表和数组一样,也是将一组同类型的数据组织在一起的一种数据结构 不同的是 数组采用的是顺序存储,依靠数组的首地址和元素的相对地址(下标)来实现访问。
5、注意,在scanf()函数读入时要传地址哦,呵呵,你看前面几个name、sex都是字符数组,但是age却是整数,字符数组的名字就是首地址,但是整数不是啊,所以要在p-age前面加一个&。
C语言创建一个链表并输出
if(h=NULL) 改为if(null==h)试试。
设计程序 创建一个 单向链表 ,并输出链表中数据。
要求每个结点有三个成员:num(char),score(int),next(指针)请各位高手帮忙啊!为什么都那么复杂啊,看着就头晕了……… 要求:建立一个有三个结点的链表,然后输出每个结点的数据。
struct list *)malloc(sizeof(struct list));scanf(%d,&p1-data);} p2-next=NULL;把这句p2-next=NULL; 改为p2-next= p1;p1-next= NULL;你的程序输不出来最后一个是因为最后的元素没有加入链表。
printf(请输入第%d个学生的学号:,i);scanf(%d,&xh);} } return head;} //写出输出上述链表各结点数据域值的函数。
c语言如何输出单链表,为什么我的输出和输入不一致呢?
你在scanf的两个%d之间加了逗号,那么输入时就要用逗号隔开两个数。输入写成7,4输出就正常了。若两个%d之间不加任何东西或只加空格,则输入时可以用空格或回车或制表符隔开,就不能用逗号之类的符号了。
输入时在两个数之间加一个.——因为你在%ld和%d之间写了个.,就不能再只用 分开了。
第5行%c与%d之间少了^ 第6行&a,&h,&b前面的&全部去掉。