24小时热门版块排行榜    

查看: 1503  |  回复: 7

astringent

铜虫 (著名写手)

[交流] 【求助】请教编译过程中的两个问题【已完结】 已有3人参与

我在编译的时候遇到下面几个问题,请大家帮忙看看
(1)我在程序中写的是
do i=1,n
if (条件1) then
-----
elseif (条件2) then
------
elseif (条件3) then
------
endif
if(条件4)A=1
enddo
但在编译时出现下面的错误:
endif
              1
Error: Expecting END DO statement at (1)
这是为什么呢?

(2)我在调用子程序test(nattot)时,遇到下面的错误
double precision :: xxx(nattot),yyy(nattot),zzz(nattot)
                              1
Error: Variable 'nattot' cannot appear in the expression at (1)
我在子程序test中,只声明了nattot是整型并没有赋值,但是在主程序中我声明nattot是整型,并且赋值了interger::nattot=10.难道需要将nattot用parameter定义?

[ Last edited by nono2009 on 2010-11-17 at 09:52 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
nono2009(金币+1):鼓励应助 2010-11-17 09:52:14
第一个问题,你前面有 do,后面要用 enddo

第二个问题,nattot 必须是一个已知的常量,似乎必须用 parameter 来定义……
2楼2010-11-13 11:23:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ykwang

金虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
第一个问题出在if(条件4)A=1上,该语句在FORTRAN77中是允许的,但在新版FORTRAN90以上不推荐使用。这一差别导致有些编译器可以通过,有些则报错。楼主将其改为
IF(条件4)THEN
  A=1
ENDIF
试一试。

第二个问题见楼上的回答。
Nothing_Is_Impossible!
3楼2010-11-13 12:19:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

astringent

铜虫 (著名写手)

再问一下,我看别人的程序时,他在主程序中写的是double precision cell(3),并从另一个文件中读入cell的值-1,然后调用了子程序test(cell)并在子程序中定义double precision cell(*),我想问一下,子程序中cell后面括号的*是什么意思呢?如果写成cell(3)能表达同样的意思吗?
4楼2010-11-13 18:09:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ykwang

金虫 (正式写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
nono2009(金币+2):鼓励应助 2010-11-17 09:52:07
引用回帖:
Originally posted by astringent at 2010-11-13 18:09:58:
再问一下,我看别人的程序时,他在主程序中写的是double precision cell(3),并从另一个文件中读入cell的值-1,然后调用了子程序test(cell)并在子程序中定义double precision cell(*),我想问一下,子程序中 ...

主程序中用double precision cell(3)定义CELL是对的,因为3为常数。在子程序中定义double precision cell(*)也是对的,其中*号表示缺省大小,即主程序中定义CELL是多大,这里就按多大处理。
Nothing_Is_Impossible!
5楼2010-11-13 18:51:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

astringent

铜虫 (著名写手)

引用回帖:
Originally posted by ykwang at 2010-11-13 18:51:08:


主程序中用double precision cell(3)定义CELL是对的,因为3为常数。在子程序中定义double precision cell(*)也是对的,其中*号表示缺省大小,即主程序中定义CELL是多大,这里就按多大处理。

那我在子程序中直接写成double precision cell(3)行不?如果这样写是否和double precision cell(*)得到相同的结果?
6楼2010-11-14 01:28:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ykwang

金虫 (正式写手)

引用回帖:
Originally posted by astringent at 2010-11-14 01:28:50:


那我在子程序中直接写成double precision cell(3)行不?如果这样写是否和double precision cell(*)得到相同的结果?

YES!
Nothing_Is_Impossible!
7楼2010-11-14 02:17:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

astringent

铜虫 (著名写手)

多谢解答!
8楼2010-11-14 05:26:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 astringent 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 投票:  有多少人是今天查系统知道结果的? +15 爱看书的可乐 2026-08-26 17/850 2026-08-27 07:12 by xxniao123
[教师之家] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 LIbGuocjEEYw 2026-08-26 4/200 2026-08-27 04:33 by Ie9AyIAvGbvs
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 LIbGuocjEEYw 2026-08-26 4/200 2026-08-27 02:01 by Ie9AyIAvGbvs
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 系统查不到 +10 董八千 2026-08-26 10/500 2026-08-26 16:30 by Equinoxhua
[基金申请] 能否退出参与的面上项目解除限项 +23 koalala 2026-08-24 26/1300 2026-08-26 14:29 by 宝贝虫子
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 国际合作可查了,中了面上 +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 项目信息和经费信息在系统里都可以看到了 +6 wittyboy 2026-08-26 14/700 2026-08-26 10:55 by wittyboy
[基金申请] 怎么看青基中了没有啊 +4 叶九微 2026-08-26 4/200 2026-08-26 10:52 by xiacongxu
[基金申请] 国合现在查不到了吗? +10 chengyan1220 2026-08-24 20/1000 2026-08-26 08:57 by peasantsprig
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +17 医学老男孩 2026-08-20 22/1100 2026-08-25 15:36 by 医学老男孩
[基金申请] 如果此刻你正在为国基感到焦虑,不妨来听听这首《基金之外》 +8 scalable 2026-08-24 8/400 2026-08-25 12:52 by jnhyjjm
[基金申请] 没有任何消息-是不是就凉了 +9 图啦图啦 2026-08-24 10/500 2026-08-25 11:59 by 南海小哥
[基金申请] 人气不行了 +11 fansofjerry 2026-08-21 11/550 2026-08-25 11:04 by 孤独的英雄6
[教师之家] 导师吐槽:我怎么摊上了这么个极品研究生! +3 苏东坡二世 2026-08-23 3/150 2026-08-25 10:35 by shisan1313
[教师之家] 跳槽后在研项目怎么办? +5 简单化xn 2026-08-22 10/500 2026-08-23 12:38 by 简单化xn
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
信息提示
请填处理意见