wuliangtdi 发表于 2019-5-4 12:02:35

C语言 [Error] expected declaration or statement at end of input

#include<stdio.h>

#include<stdlib.h>

typedef int datatype;

typedef struct link_node
{
   datatype info;
   struct link_node *next;
} node,*linklist;

void Init(linklist *L)
{
        *L=(node*)malloc(sizeof(node));
        (*L)->next=NULL;
}

void Create_Head_List(linklist L)
{
        node *s;
        datatype c;
        char b;                  //*判断是否继续输入数据*//
        int flag=1;
        while(flag)
        {
                printf("请输入一个数据:\n");
                scanf("%d",&c);
                L->info=c;
                s->next=L->next;
                L->next=s;
                getchar();
                printf("是否继续输入(Y/N)\n");
                b=getchar();
                if(b=='Y'||b=='y')
                        continue;
                else
                        break;
        }
}

linklist MergeTwoOrderedLists(linklist pHead1, linklist pHead2)
{
        linklist pTail = NULL;//指向新链表的最后一个结点 pTail->next去连接
        linklist newHead = NULL;//指向合并后链表第一个结点

        if (NULL == pHead1)
        {
                return pHead2;
        }
        else if(NULL == pHead2)
        {
                return pHead1;
        }
        else
        {
                //确定头指针
                if ( pHead1->info > pHead2->info)
                {
                        newHead = pHead1;
                        pHead1 = pHead1->next;//指向链表的第二个结点
                }
                else
                {
                        newHead = pHead2;
                        pHead2 = pHead2->next;
                }
                pTail = newHead;    //指向第一个结点
                while ( pHead1 && pHead2)
                {
                        if ( pHead1->info >= pHead2->info )
                        {
                                pTail->next = pHead1;
                                pHead1 = pHead1->next;
                        }
                        else
                        {
                                pTail->next = pHead2;
                                pHead2 = pHead2->next;
                        }
                        pTail = pTail->next;
                }

                if(NULL == pHead1)
                {
                        pTail->next = pHead2;
                }
                else if(NULL == pHead2)
                {
                        pTail->next = pHead1;
                }
                return newHead;
}

void PrintList(linklist L)
{
        while(L)
        {
                printf("%d--> ",L->info);
                L = L->next;
        }
        printf("NULL\n");
}
void main()
{
        linklist L1,L2;
        Init(&L1);
        Init(&L2);
        printf("输入第一个单链表的数据:\n");
        Create_Head_List(L1);
        printf("输入第二个单链表的数据:\n");
        Create_Head_List(L2);
        printf("合并前的L1、L2的数值为:\n");
        PrintList(L1);
        PrintList(L2);
        printf("合并之后的单链表为:\n");
        PrintList(MergeTwoOrderedLists(L1, L2));
}
有一个错误我始终不知道在哪里 希望大神帮我看一下 错误如图所示

人造人 发表于 2019-5-4 12:02:36

wuliangtdi 发表于 2019-5-4 12:29:19

人造人 发表于 2019-5-4 12:23


懂了 3Q

2164930278 发表于 2019-5-4 14:03:53

好厉害
页: [1]
查看完整版本: C语言 [Error] expected declaration or statement at end of input