一句代码的BUG研究了4个通宵也没搞定,求大家帮忙看看这句话?感激不尽啊!!!

jyzdtn 2014-12-21 06:02:58
Value = Value + (A(i,j) - (float)(Vertex[i].Degree)*(Vertex[j].Degree)/100 )*C(i,j);

编译能过 运行的时候 出现“ windows 出现意外终止,是否需要调试”

这个的 A 和 C 的取值要么是0 要么是1

for (int j= 0;j<=50;i++)
{
if(i!= j)
Value = Value + (A(i,j) - (float)(Vertex[i].Degree)*(Vertex[j].Degree)/100 )*C(i,j);
}
...全文
267 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
翅膀又硬了 2014-12-22
  • 打赏
  • 举报
回复
把一条语句拆成多条,慢慢找。 你搞不定,还写这么长的语句
u010231493 2014-12-22
  • 打赏
  • 举报
回复
改变下类型看看,可能转换类型错误。Value给个double,其他都换换类型
赵4老师 2014-12-22
  • 打赏
  • 举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。
事后猪葛 2014-12-22
  • 打赏
  • 举报
回复
引用 2 楼 jyzdtn 的回复:
[quote=引用 1 楼 fztfztfzt 的回复:] for (int j= 0;j<=50;i++)? 怎么不是j++?打错了?
另外,我这里用float 还是double 好[/quote]你没发现j和i的问题吗
likfeng 2014-12-22
  • 打赏
  • 举报
回复
Value = Value + (A(i,j) - (float)(Vertex[i].Degree)*(Vertex[j].Degree)/100 )*C(i,j); 拆开成多条语句单步调试
Richardicy 2014-12-22
  • 打赏
  • 举报
回复
for (int j= 0;j<=50;i++) 这个循环你写的好奇怪,为什么是比较j,但是i++呢?
Richardicy 2014-12-22
  • 打赏
  • 举报
回复
Vertex[j]是否能达到50,另外楼主,如果你定义的是Vertex[50] 那你能取的最大值是Vertex[49],而不是50 你给的信息量不足,但是现象来看肯定是数组访问越界了
幻夢之葉 2014-12-22
  • 打赏
  • 举报
回复
Vertex的数据有没有50那么多?
Johnblx 2014-12-22
  • 打赏
  • 举报
回复
完全没有可读性
jyzdtn 2014-12-21
  • 打赏
  • 举报
回复
引用 1 楼 fztfztfzt 的回复:
for (int j= 0;j<=50;i++)? 怎么不是j++?打错了?
另外,我这里用float 还是double 好
fztfztfzt 2014-12-21
  • 打赏
  • 举报
回复
for (int j= 0;j<=50;i++)? 怎么不是j++?打错了?

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧