注册 登录
编程论坛 数据结构与算法

我又哭了,为什么输出的时候多了个问号?

编程的未来 发布于 2013-03-30 19:30, 595 次点击
#include<stdio.h>
#include<malloc.h>

typedef char datatype;
typedef struct node
{
    datatype data;
    struct node *next;
}Linklist;

main()
{
    char ch;
    Linklist *head,*s,*r;
    r = (Linklist*)malloc(sizeof(Linklist));
    head = r;
    scanf("%c",&ch);


    while(ch != '$')
    {
        s = (Linklist *)malloc(sizeof(Linklist));
        s->data = ch;
        r->next = s;
        r = s;
        scanf("%c",&ch);
    }
    r->next = NULL;
   
    s = head;
    while(s->next != NULL)
    {
        printf("%c ",s->data);
        s = s->next;
    }
    printf("%c ",s->data);
    getchar();
   

}
1 回复
#2
yuccn2013-03-30 19:39
r = (Linklist*)malloc(sizeof(Linklist));
     head = r;

你的这个head 是的data是没有赋值的,问号就是这个head的data,
吧这个
s = head;
     while(s->next != NULL)
     {
         printf("%c ",s->data);
         s = s->next;
     }

改成
s = head->next;
     while(s != NULL)
     {
         printf("%c ",s->data);
         s = s->next;
     }

1