标题:帮忙找下错误啊
只看楼主
IT飞飞
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2012-9-8
结帖率:66.67%
已结贴  问题点数:10 回复次数:6 
帮忙找下错误啊
#include "stdafx.h"
#include<stdio.h>
#include<string.h>

typedef int typedata


typedef struct node
{
    typedata data;
    struct node *next;


}Listnode;


Listnode *Creat(Listnode *head)
{
    Listnode *p;
     
    int x;
    printf("请输入x的值");
    scanf("%d",&x);
    while(x!=flag)
    {
   
    p=(Listnode*)malloc(sizeof(Listnode));
    p->date=x;
    p->next=head;
    p=head;

    }
 

 return (head);


}
   


 Lnode * Lcoate(Lnode *head)
 {
  Lnode *p,*q,*r;

  
  while(q&&p!=q)
  { p=head;
    q=p->next;
    q=q->next;
    p=p->next;
    r=q;
    r->next=p;
   
  }
 
 
 
 }


int main(int argc, char* argv[])
{     
   Creat(head);
Lcoate(head);
  

    return 0;
};




原题是   设计一个算法,利用单链表中的各个原来的结点空间将一个单链表就地转置。这是错误提示:

Compiling...
lesson1.cpp
C:\Program Files\Microsoft Visual Studio\MyProjects\lesson1\lesson1.cpp(12) : error C2143: syntax error : missing ';' before '<class-head>'
C:\Program Files\Microsoft Visual Studio\MyProjects\lesson1\lesson1.cpp(12) : fatal error C1004: unexpected end of file found




搜索更多相关主题的帖子: return include next 
2012-09-16 15:48
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
得分:3 
typedef int typedata
 
2012-09-16 15:50
db20103548
Rank: 2
来 自:辽宁沈阳
等 级:论坛游民
帖 子:9
专家分:11
注 册:2012-9-16
得分:3 
回复 2楼 寒风中的细雨
  
   版主就是牛人,助人为乐,好吧主····我是新手···
2012-09-16 16:13
IT飞飞
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2012-9-8
得分:0 
回复 2楼 寒风中的细雨
可这样  错误就更多了 啊
2012-09-16 16:23
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
得分:0 
你那 flag 声明了没呀

Listnode *Creat(Listnode *head)
{
    Listnode *p;
   
    int x;
    printf("请输入x的值");
    scanf("%d",&x);
    while(x!=flag)   --------》flag 是全局 变量  还是?  找了 半天看不到 flag 的声明
    {
  
    p=(Listnode*)malloc(sizeof(Listnode));
    p->date=x;
    p->next=head;  --------------》
    p=head;         ----------------.》  这两行  代码上没问题  表达意思上  有 问题
    }

Lnode * Lcoate(Lnode *head)
{
  Lnode *p,*q,*r;              ------------------》lnode 这个结构构造声明在哪啊?
 
  while(q&&p!=q) -------------------》敢问这个 循环体 干什么用的 啊   表达式 q&&p!=q 表达是正确的,但是 你要表达的是什么呢
                                                            q=1    与 p!=q   表示出来是这样的 ,是什么    这p q都没有值  这个表达式是什么 呢
  { p=head;                    q=p->next->next
    q=p->next;               p->next->next->next                             
                                       p->next 你这转的是什么
    q=q->next;             把链表第2个转到第4个上  你划个链表图 看看 第4个 地址的next 指到哪了
    p=p->next;           
    r=q;
    r->next=p;   --------------------------------------》感觉你用的不是 C语言    一点 C的 味道都没
  
  }

}

我要成为嘿嘿的黑客,替天行道
2012-09-17 18:13
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
得分:3 
你把链表里的 date 部分用数组装起来   再把数组里的元素反向赋值 给 链表

也就是 数组最后一个 数据 =链表头里的 数据部分

我要成为嘿嘿的黑客,替天行道
2012-09-17 18:20
netlin
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:24
帖 子:544
专家分:4308
注 册:2012-4-9
得分:3 
这段代码,看起来,好象问题较多!
Lnode * Lcoate(Lnode *head)
{
  Lnode *p,*q,*r;
  while(q&&p!=q)
  { p=head;
    q=p->next;
    q=q->next;
    p=p->next;
    r=q;
    r->next=p;
  }
}


做自己喜欢的事!
2012-09-17 23:36



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




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

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