设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 570|回复: 3
打印 上一主题 下一主题

[讨论]大家来看下

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-3 03:32:18 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
#include<iostream.h>
typedef struct node
{
int music[5];
char name[10];
int i;
struct node *next;
};
void set(node *p)
{
p=new node;
node m1={{1,2,3,4,5},"小蜜蜂",1,NULL};
node *s1=new node;
s1=&m1;
p->next=s1;
node m2={{5,4,3,2,1},"遇见",2,NULL};
node *s2=new node;
s2=&m2;
s1->next=s2;
}
int length(node *p)
{
int n=0;
node *q=p->next;
while(q!=NULL)
{
n++;
q=q->next;
}
return n;
}
void display(node *p)
{
int n=length(p),i;
node *q=p->next;
cout<<"歌曲库显示\n";
for(i=1;i<=n;i++)
{
cout<<i<<'.'<<q->name<<endl;
q=q->next;
}
}
void main()
{
node hebe;
set(&hebe);
display(&hebe);
}
打击帮忙看下..编译没有问题..运行老是说我非法.谢了.........
4#
发表于 2009-11-3 03:32:21 | 只看该作者
#include<iostream.h>
typedef struct node
{
int music[5];
char name[10];
int i;
struct node *next;
};
void set(node *p)
{
node *s=new node;
s=p;
s->next=NULL;
node m1={{1,2,3,4,5},"小蜜蜂",1,NULL};
node *s1=new node;
s1=&m1;
s->next=s1;
node m2={{5,4,3,2,1},"遇见",2,NULL};
node *s2=new node;
s2=&m2;
s1->next=s2;
}
int length(node *p)
{
int n=0;
node *q=p->next;
while(q!=NULL)
{
n++;
q=q->next;
}
return n;
}
void display(node *p)
{
int n=length(p),a;
node *q=p->next;
cout<<"歌曲库显示\n";
for(a=1;a<=n;a++)
{
cout<<a<<'.'<<q->name<<endl;
q=q->next;
}
}
void main()
{
node hebe;
set(&hebe);
display(&hebe);
}

但是这样还是有云来的那个问题...
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-3 03:32:20 | 只看该作者
void set(node *p)
{
p=new node;
//......
//p->next=s1;
}

int main()
{
node hehe;
set(&hebe);
}


p开始是指向hehe
而你又分配了node大小的空间让p不指向hehe,而指向heap space
这里p不指向hehe了,而你在上面set function部分又调用了p->next=s1; 这里p指向的部分(heap space)没有next
回复 支持 反对

使用道具 举报

2#
发表于 2009-11-3 03:32:19 | 只看该作者
帮忙看下啊..看了那么多就是不留言..难道就这么难吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 16:36 , Processed in 0.110026 second(s), 9 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表