C语言编程某小镇有9870,C语言编程求助,酬金1000元RMB

已结贴√

问题点数:20 回复次数:12

ca56232b3bbedf9a539d07f37fffb99a.gif

3144d8b7615c79d9f638db40d5689d26.gif

a218af6549b45ee526caf607ebff1358.gif

0f8df0e29816ae721419de940fb833d1.gif

C语言编程求助,酬金1000元RMB

我的程序代码如下:

for(j=1;j<=10000;j++)

{

if(head_se==NULL)                               /*将产生的二次电子添加到二次电子链表尾部*/

{

head_se=(Particle*)malloc(sizeof(Particle));

if(head_se==NULL)

{

printf("\nNot enough memory or allocate memory error happened.\n");

exit (1);

}

tail_se=head_se;

head_se->previous=NULL;

}

else

{

tail_se->next=(Particle*)malloc(sizeof(Particle));

if(tail_se->next==NULL)

{

printf("\nNot enough memory or allocate memory error happened.\n");

exit (1);

}

tail_se->next->previous=tail_se;

tail_se=tail_se->next;

}

/**********************************************************************/

/******更新电子速度-得到碰撞后的速度*********/

/**********************************************************************/

Rf1=ran1(p_idum);

Rf2=ran1(p_idum);

tail_se->v.vr=fabs(v_extent*sqrt(Rf2*(2-Rf2))*sin(2*PI*Rf1))/V_N;

tail_se->v.vt=v_extent*sqrt(Rf2*(2-Rf2))*cos(2*PI*Rf1)/V_N;

tail_se->v.vz=v_extent*(1-Rf2)/V_N;

tail_se->mass=ME;

tail_se->charge=e_sim;

tail_se->p00=0;   /*权重系数需在下一循环重新计算*/

tail_se->p01=0;

tail_se->p10=0;

tail_se->p11=0;

tail_se->next=NULL;

}

其中head_se和tail_se是指向我定义的结构体的指针变量。

上面是我的程序代码中的一段,9870步之前运行都正常,但是第9871个循环时,显示“Not enough memory or allocate memory error happened.”,即我上面程序中

tail_se->next=(Particle*)malloc(sizeof(Particle));

if(tail_se->next==NULL)

{

printf("\nNot enough memory or allocate memory error happened.\n");

exit (1);

}

给 tail_se->next分配内存失败

我的问题是:1.是什么导致 tail_se->next=(Particle*)malloc(sizeof(Particle))失败的?

2.为什么前面9870个循环都每问题,9871步却出现这个问题?

哪位大神能够帮我解决这个问题,本人给酬金100人民币,可微信红包。请联系我:17739971880

[此贴子已经被作者于2017-10-23 21:36编辑过]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值