猿问

求大神指点,这个程序为什么说没错,却在运行时说停止工作?急求!!


#include <iostream.h>

typedef struct

{

int *date;

int length;

}SqList;

void InitList(SqList &L,int m)

{

int i;

L.length=m;

for(i=0;i<L.length;i++)

L.date[i]=1;

}

void rabbit(SqList &L,int n)

{

    int j=0,i;

L.date[0]=0;

for(i=2;i<n;i++)

{

j=(j+i)%L.length;

    L.date[j]=0;

}

}

void print(SqList &L)

{

int i;

cout<<"兔子可能藏在以下洞中:";

for(i=0;i<L.length;i++)

{

if(L.date[i]==1)

cout<<"兔子可能藏身的山洞为:"<<i+1<<' ';

}

}

int main()

{

int n,m;

SqList L;

cout<<"请输入山洞的个数:";

cin>>m;

cout<<"请输入出入山洞的次数:"<<endl;

cin>>n;

InitList(L,m);

    rabbit(L,n);

print(L);

return 0;

}





静好312
浏览 1350回答 1
1回答

guozhchun

void InitList(SqList &L,int m) {     int i;     L.length=m;     for(i=0;i<L.length;i++)         L.date[i]=1;   // SqList 结构体中 date 是一个指针,在执行这条语句之前没初始化,因此执行到这里会出错 }
随时随地看视频慕课网APP
我要回答