Fortran Coder

查看: 8919|回复: 2
打印 上一主题 下一主题

[求助] 三个语法代码的解释问题

[复制链接]

6

帖子

1

主题

0

精华

入门

F 币
35 元
贡献
22 点

规矩勋章

跳转到指定楼层
楼主
发表于 2015-10-29 00:23:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以下是问题,求解释下:
1.integer ,dimension(-10:15) :: current
       为啥定义矩阵的长度从-10到15呢,那么矩阵小标索引是不是也是-10到15,而不是像matlab或者c一样,从1:26呢?
2.print 100,firstname
   100 format(1x,a)         这一句怎么理解(括号里面和那个100)?
3.read *,x,y
   read(unit=*,fmt=100) x,y
   read(unit=5,fmt=*) x,y        这三行代码如何解释呢?主要是那个*号和括号里面的两个变量不懂?
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

2033

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1641 元
贡献
709 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

沙发
发表于 2015-10-29 08:15:39 | 只看该作者
1. Fortran 可以从任何下标开始。例如 -10:15,那么一共有26个元素。分别是
          -10,-9,-8,-7......0,1,2,3......15
   既然定义了从-10开始,那就是-10开始,不会从1到26。
   
2. print,100 这里的100指定了输出格式,按照语句标号100所示的格式输出。
那么 100 format(1x,a) 就说明了它的格式。1x 表示输出一个空格,a 表示输出一个字符串,即firstname

3. 这是 read 读取语句。第一个写法已经被废止了,它等效于 read( * , * ) x , y
   第二个写法等效于 read( * , 100 ) x , y
   第三个写法等效于 read( 5 , * ) x , y
   
   括号里有两个东西,第一个是 unit,表示读取的位置,如果是 * 表示从屏幕读入
   第二个是 fmt,如果是 * 表示表控格式(list-directed 即让编译器自动选择格式)

6

帖子

1

主题

0

精华

入门

F 币
35 元
贡献
22 点

规矩勋章

板凳
 楼主| 发表于 2015-10-29 12:13:09 | 只看该作者
fcode 发表于 2015-10-29 08:15
1. Fortran 可以从任何下标开始。例如 -10:15,那么一共有26个元素。分别是
          -10,-9,-8,-7.... ...

非常感谢,(*^__^*) 嘻嘻……
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-12-24 21:52

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表