回 帖 发 新 帖 刷新版面

主题:do 循环的问题

主程序是是一个大的do 循环,语句如:
do i4=ifirst,ncells
...........
call ssot
..............
enddo
这是一个主程序,在子程序ssot中,同样也是一个do循环语句。
且也是:do i4=ifirst,ncells
        .............
        enddo 
请问这两个do 循环冲突吗?

回复列表 (共4个回复)

沙发

只要i4在主程序跟程序不是指向同一个东西(没有传递进去)就不会.

板凳


i4在这两程序中是指同一个。且这样计算能够算通,但是计算的结果有一些偏差!

3 楼

fortran不允许循环指标在循环内被修改的. 这点跟C不同, 如果你这样应用竟然可以, 那你最好注意点, 这个运算过程是不是你想要的.

4 楼

看你的CALL沒帶任何參數,除非I4是全局變量或是模塊變量,否則兩個不同的子程序之間不會是同一個變量的。

正如YEG001兄說的那樣,如果是同一個變量(上述兩種情況之一)那你就要小心了,程序很有可能會出問題!

我来回复

您尚未登录,请登录后再回复。点此登录或注册