*[开发平台(Platform):
Visual Studio 2010
*[问题(Question):
我为了实现feedforward neural network写了一个c
在程式的一开始我先将training data的txt档读进来
之后运算完算法之后再把结果输出到txt档
原本我给的data是个总共12行二维的资料
像是 : 1.23,2.11
3.21,4.22
... ...
以此往下类推
但是当我把输入的data增加至大于20行之后
同样一模一样的程式竟然在fprintf的地方发生触发中断点
也就是读进来的资料都可以经过算法运算
但是却在输出到txt时发生错误
他跳出一个视窗说 :
Windows已触发xxxxx(档名)的中断点
可能是因为堆积损毁,表示XXXXX内有错误或其加载的任何DLL内有错误
然后会在fprintf.c里面
有一段是
if(retval=0)
{
buffing = _stbuf(stream);
retval = _output_l(stream,format,NULL,arglist);
作者:
LPH66 (-6.2598534e+18f)
2014-10-24 23:51:00你的程式贴上来给大家看看吧, 不用管 fprintf 里面如何会这样绝大多数是你的程式有某些地方没写好
但是程式有点长耶...总共有500行@@这样可以贴吗??
作者: JLong (白开水的味道) 2014-10-25 00:12:00
请参考置底文 ~贴程式码前请看这边~
作者:
carylorrk (carylorrk)
2014-10-25 00:20:00用 debugger 看一下 output 的值有没有符合预期吧。
作者: JLong (白开水的味道) 2014-10-25 00:42:00
overflow...number_of_training_sets应该设12或20?
那个地方我是用动态阵列,先让程式扫一遍说number oftraining sets有几笔 (也就是输入资料有几笔)因为在实际运行时其实是不知道有几笔
作者: JLong (白开水的味道) 2014-10-25 00:45:00
sorry 跳太快
作者:
carylorrk (carylorrk)
2014-10-25 01:58:00也许可以给个 sample input
作者:
firejox (Tangent)
2014-10-29 07:49:00malloc的地方有错 for循环的部份