回 帖 发 新 帖 刷新版面

主题:这个题怎么编译不通,哪里错了??


  void DisCreat1(LinkedList A)/*A是带头结点的单链表,链表中结点的数据类型为整型。
                       本算法将A分解成两个单链表B和C,B中结点的数据为偶数?
                       C中结点的数据为奇数*/

         {
          B=A;
          C=(LinkedList )malloc(sizeof(LNode));/*为C申请结点空间*/
          C->next=null    /*C初始化为空表*/
          p=A->next;     /*p为工作指针*/
          B->next=null;    /*B表初始化*/
          while(p!=null)
            {r=p->next;  /*暂存p的后继*/
             if (p->data/2==0)/*偶数放入B表 */
               {p->next=B->next; B->next=p; }/*将偶数的结点链入B表*/
             else {p->next=C->next; C->next=p; }
             p=r;/*p指向新的待处理结点*/
            }
        }/*算法结束*/


错误 2.c 2: 变量列表语法错误

回复列表 (共3个回复)

沙发

BA分别怎么声明和定义的?
C=(LinkedList )malloc(sizeof(LNode));/*为C申请结点空间*/《===括号里多了个空格?
          C->next=null    /*C初始化为空表*/<<====看看,这句话漏了一个;哦

板凳


还是这个错误:[color=FF0000]错误 2.c 2: 变量列表语法错误[/color]

3 楼

void DisCreat1(LinkedList A)
C=(LinkedList )malloc(sizeof(LNode));都少了*号应该是
void DisCreat1(LinkedList *A)
C=(LinkedList *)malloc(sizeof(LNode));
算法我没看。语法肯定有错误。

我来回复

您尚未登录,请登录后再回复。点此登录或注册