有关fortran数组write的问题

为啥这个程序最后输出的是a(6,6)... 为啥这个程序最后输出的是a(6,6) 展开
 我来答
天河流纹石
2013-08-28 · TA获得超过1.3万个赞
知道大有可为答主
回答量:7623
采纳率:76%
帮助的人:6685万
展开全部
因为循环结束后,循环变量的值就是最后一次循环再加1。

所以 i = 6 , j = 6
a(i,j) 自然就是 a(6,6) 了。
实际上,你的代码可以简写为:
Program Main
Implicit None
integer a( 5 , 5 ) , i , j
a(:,:) = 5
a(2:5,:) = 3
End Program Main
hyang2008
2013-08-28 · TA获得超过324个赞
知道小有建树答主
回答量:144
采纳率:100%
帮助的人:95.1万
展开全部
最后的write改成
do i=1,5
do j=1,5
write(*,*) a(i,j)
end do
end do

这样就可以输出:
a(1,1)
a(1,2)
a(1,3)
......
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
叶落归根24
2013-08-28 · TA获得超过5199个赞
知道小有建树答主
回答量:3689
采纳率:0%
帮助的人:872万
展开全部
乍一眼看上去没有语法错误,但是你要输出的a(i,j)是在循环之外了,是无法赋值的,如果你输出是a(6,6)应该是用了debug进行查看了吧。
在循环结束后,最后的数值是a(5,5),像一位数组的话下一个就是a(6)了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式