当前位置: 代码迷 >> C语言 >> 为什么说我非法操作?
  详细解决方案

为什么说我非法操作?

热度:105   发布时间:2006-06-30 23:49:54.0
为什么说我非法操作?

#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);
编译通过..为什么运行却是非法操作..大家帮忙看看..谢了

搜索更多相关的解决方案: next  include  music  

----------------解决方案--------------------------------------------------------
不知道


----------------解决方案--------------------------------------------------------
C++?
----------------解决方案--------------------------------------------------------
  相关解决方案