标题:C语言链表
只看楼主
兔先生
Rank: 2
等 级:论坛游民
帖 子:41
专家分:20
注 册:2018-11-9
结帖率:63.64%
已结贴  问题点数:10 回复次数:2 
C语言链表
输入asdf....无限输出S
可能是主函数的问题。。。。
#include<stdio.h>
#include<stdlib.h>

struct student
{
    char name;
    char numb[10];
    struct student *next;
 } ;
 
struct student *lll()
{
    char c;
    int i=1;
    struct student *head;
    struct student *pa,*pb;
    head->next =NULL;
    pa=pb=(struct student *)malloc(sizeof(struct student));
    c=getchar();
    while(i!=3)
    {
         pa->name =c;
         pa->next =head->next ;
         head->next=pa;
         c=getchar();
         i++;   
    }
    return  head;
   
}
main()
{
    int i;
    struct student *h;
    /*char *a=(char *)calloc(26,sizeof(char));
    char *b=(char *)calloc(26,sizeof(char));
    for(i=0;i<26;i++)
    {
        a[i]=65+i;
        b[i]=97+i;
    }
    puts(a);
    puts(b);*/
    h=lll();
    for(;h->name !=NULL    ;)
    {
   
    printf("%c",h->name );
    h=h->next ;   
}
 }
搜索更多相关主题的帖子: struct student char name next 
2018-12-20 18:09
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:620
专家分:3020
注 册:2011-4-22
得分:7 
while(i!=3)
    {
         pa->name =c;
         pa->next =head->next ;
         head->next=pa;
         c=getchar();
         i++;   
    }
    return  head;
这一段不通,不知道你的逻辑是啥
2018-12-20 20:43
兔先生
Rank: 2
等 级:论坛游民
帖 子:41
专家分:20
注 册:2018-11-9
得分:0 
回复 2楼 zbjzbj
    c=getchar();
    while(c!='$')
    {
         pa->name =c;
         pa->next =head->next ;
         head->next=pa;
         c=getchar();   
    }
就是输入一段字符以‘$’结尾,然后每分配一个内存空间就往里面放一个字母。
2018-12-20 22:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-492172-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.092608 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved