我需要帮助才能理解为什么我无法编译此代码
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
答案 0 :(得分:1)
(j**2,j=1,10)
是一个隐式循环。对于赋值,您需要先将其转换为数组:
isquares(:) = [(j**2,j=1,10)]