首页 > 代码库 > 同样的代码bug

同样的代码bug

  昨天改写一些代码,任务很简单,但改写调试却花了一天半的时间。最后发现这个错误以前也犯过,情形如下:

! 对于如下的模式do i =1,n    temp = function(i)    out(i) = tempenddo! 已知 function(i)只在 log(i)为真时才是非零,为节省计算量,采用了如下形式do i =1,n   if(log(i)) then     temp = function(i)  endif      out(i) = tempenddo
! 却忽略了 funtion(i) 为零时的处理,应在判断时加上对零值的处理if(log(i)) then  temp = function(i)else  temp = 0.d0endif  

一定要考虑全面!

 

 

同样的代码bug