创建一个汉字链表输出有问题?

#include<stdio.h>
#define  MAX_RESULT_LENGTH 2
typedef struct LNode {
    char hanzi[MAX_RESULT_LENGTH];       // 存储汉字
    struct LNode* next;        // 下一个节点的指针
} PinyinEntryNode,*PinyinList;
void Initlist(PinyinList &L)
{
    L=new LNode;
    L->next=NULL;
}
void Creatlist_H(PinyinList &L,int n)
{
    PinyinList p;
    L=new LNode;
    L->next=NULL;
    for(int i=0;i<n;++i)
    {
        p=new LNode;
        printf("输入第%d个:\n",i+1); 
        scanf("%s",&p->hanzi);
        p->next=L->next;
        L->next=p;        
    } 
    printf("输入成功\n");
}
void Print(PinyinList &L)
 {
    while (L ->next!= NULL) 
    {
        printf("%s ", L->hanzi);
        L= L->next;
    }
}
main()
{
    PinyinList L,p;
    int n;
    Initlist(L);
    printf("请输入个数:"); 
    scanf("%d",&n);
    printf("输入汉字\n") ;    
    Creatlist_H(L,n);
    Print(L);
}
阅读 1.5k
1 个回答
#include<stdio.h>
#define  MAX_RESULT_LENGTH 4
typedef struct LNode {
    char hanzi[MAX_RESULT_LENGTH];       // 存储汉字
    struct LNode* next;        // 下一个节点的指针
} PinyinEntryNode,*PinyinList;
void Initlist(PinyinList &L)
{
    L=new LNode;
    L->next=NULL;
}
void Creatlist_H(PinyinList &L,int n)
{
    PinyinList p;
    L=new LNode;
    L->next=NULL;
    for(int i=0;i<n;++i)
    {
        p=new LNode;
        printf("输入第%d个:\n",i+1); 
        scanf("%s",&p->hanzi);
        p->next=L->next;
        L->next=p;        
    } 
    printf("输入成功\n");
}
void Print(PinyinList L)
 {
    L = L->next; // Skip the head node
    while (L != NULL) 
    {
        printf("%s ", L->hanzi);
        L= L->next;
    }
}
int main()
{
    PinyinList L;
    int n;
    Initlist(L);
    printf("请输入个数:"); 
    scanf("%d",&n);
    printf("输入汉字\n") ;    
    Creatlist_H(L,n);
    Print(L);
    return 0;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进