我有一个程序可以遍历一个数组,确定性地生成新的行向量,然后将其附加到数组中。
在每次迭代中,都会采用向量的范数,以确保它不是零向量。如果为零,则程序停止。
有一个错误,第三次迭代会导致向量变为零。
在寻找这个错误时,我用调试打印语句填充代码,print *,"here",this_var 等。这些打印语句之一(打印最新向量的规范)修复了程序。
我不喜欢打印声明。我也不喜欢这样,我不明白发生了什么。
有没有人知道为什么打印语句会影响它正在打印的东西?
可用代码(约 400 行,大量注释)