我很惊讶你不能把一个数组成员作为do循环的控制变量,如下所示:
program test
integer, dimension(2) :: i
do i(1) = 1, 3
do i(2) = 1, 3
! anything here
write(*, *) i
end do
end do
end program
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么不允许这样做?
编辑: 或是允许但我做错了?
来自ifort v 11.1的错误消息是:
test.f90(4): error #5082: Syntax error, found IDENTIFIER 'I' when expecting one of: ( % : . = =>
do i(1) = 1, 3
-------^
test.f90(4): error #5082: Syntax error, found ',' when expecting one of: <END-OF-STATEMENT> ;
do i(1) = 1, 3
---------------^
test.f90(5): error …Run Code Online (Sandbox Code Playgroud)