1
我需要幫助理解爲什麼我不能編譯這段代碼填充變量
program test
integer,dimension(1:10) :: isquares
isquares(:) = (j**2,j=1,10)
print*,isquares
end
維隱式循環然而,這個版本是確定的:
program test
print*,(j**2,j=1,10)
end
我需要幫助理解爲什麼我不能編譯這段代碼填充變量
program test
integer,dimension(1:10) :: isquares
isquares(:) = (j**2,j=1,10)
print*,isquares
end
維隱式循環然而,這個版本是確定的:
program test
print*,(j**2,j=1,10)
end
(j**2,j=1,10)
是一個隱含的循環。對於任務,您需要先將其轉換爲數組:
isquares(:) = [(j**2,j=1,10)]
正確,但此功能僅在Fortran 2003版本中可用。 jsquares(:) = [(j ** 2,J = 1,10)] 錯誤:Fortran 2003的:[...]在(1) –
然後使用'(/(j風格數組構造** 2 ,j = 1,10)/)' –