fortran 中数组的初始赋值问题 5
比如我定义一个数组V(5000),然后下面幅值V(5000)=0,那么这句话的意思是不是这个数组中5000个数的初始值都为0?再比如我定义一个数组V(0:5000)=1,...
比如我定义一个数组V(5000),然后下面幅值 V(5000)=0,那么这句话的意思是不是这个数组中5000个数的初始值都为0?
再比如我定义一个数组V(0:5000)=1,2,3;
这里面我有两个问题,一,这个数组里面是不是可以有0到5000个数。
二,那么这个赋值1,2,3又怎么个意思?
求高手解答 展开
再比如我定义一个数组V(0:5000)=1,2,3;
这里面我有两个问题,一,这个数组里面是不是可以有0到5000个数。
二,那么这个赋值1,2,3又怎么个意思?
求高手解答 展开
展开全部
第一,
V(5000)=0 的意思是,第5000个元素为0,而前4999个没有进行赋值。
如果写为:
V(1:5000)=0,这就表示5000个全部为0了。
第二,
V(0:5000)=1,2,3这样写是非法的。
第三,
V(5000) 也可以写为 V(1:5000) 表示V数组里有5000个数。如果省略了冒号,则默认从1开始
如果写成 V(0:5000)则表示 V 数组有 5001 个数。
V(5000)=0 的意思是,第5000个元素为0,而前4999个没有进行赋值。
如果写为:
V(1:5000)=0,这就表示5000个全部为0了。
第二,
V(0:5000)=1,2,3这样写是非法的。
第三,
V(5000) 也可以写为 V(1:5000) 表示V数组里有5000个数。如果省略了冒号,则默认从1开始
如果写成 V(0:5000)则表示 V 数组有 5001 个数。
追问
我的程序里面 在声明变量里面有这样的语句
real(8) ::Rho(Nx)=0!其中的Nx为2001
save Rho
那么是不是这样的语句就说明了Rho与Rho(Nx)是有关的了? 有什么样的关系?
并且下面还有一句:Rho=0.d0
那么这一句是不是说明Rho(NX)这个数组里面所有数都为0?
追答
声明语句里:Real(8) :: Rho(Nx) = 0
表示 Rho 数组,有 Nx 个元素,也就是 2001 个元素,且全部是 0。
Rho = 0.d0表示全部元素都赋值为 0
也可以写为:
Rho(:) =0.d0
或者
Rho(:Nx) =0.d0
或者
Rho(1:Nx) =0.d0
但不能写为:
Rho(Nx) =0.d0
因为这样代表Rho的第Nx个元素为0,其他的没有赋值。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询