虽然所有元素在数组fortran中并不为零



我正在尝试使用一个将运行的循环,直到两个数组的所有元素为0:

我在想:

DO WHILE(ALL(QueueST/=0) .AND. ALL(QueuePT/=0))
!here things to do 
END DO

是正确的吗?有没有更好的办法 ?那:

DO    
IF(ALL(QueueST/=0) .AND. ALL(QueuePT/=0))THEN
  EXIT
END IF 
    !here things to do 
END DO

有所不同吗?

它们不正确。在使用时

 DO WHILE(ALL(QueueST/=0) .OR. ALL(QueuePT/=0))

和第二种形式

IF(ALL(QueueST==0) .AND. ALL(QueuePT==0)) EXIT

这两个条件应在这两个版本中相反。

最新更新