24小时热门版块排行榜    

查看: 1529  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +5 s3fFTmArrBt6 2026-09-13 5/250 2026-09-17 12:05 by ObVzqQQh1rrE
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +4 vZfe6xYu34yj 2026-09-14 4/200 2026-09-17 05:50 by k06BKNblrGRH
[公派出国] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +4 40ms4Wlo4umh 2026-09-14 4/200 2026-09-17 04:26 by k06BKNblrGRH
[公派出国] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +4 6F5UbRU2I5hL 2026-09-14 4/200 2026-09-17 03:40 by k06BKNblrGRH
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 s3fFTmArrBt6 2026-09-14 3/150 2026-09-17 02:38 by Tql5LQhh5rLK
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +6 s3fFTmArrBt6 2026-09-13 7/350 2026-09-17 02:28 by Tql5LQhh5rLK
[公派出国] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +5 s3fFTmArrBt6 2026-09-13 7/350 2026-09-17 02:14 by Tql5LQhh5rLK
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +7 3n8v2C8RimXI 2026-09-13 8/400 2026-09-17 01:38 by Tql5LQhh5rLK
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +7 QUjhNVAcOSff 2026-09-13 8/400 2026-09-17 01:16 by Tql5LQhh5rLK
[考研] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +5 Aj1rhIDL5ixY 2026-09-14 5/250 2026-09-16 21:39 by MHf40yA0Uhyb
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 yaCh4X3wd045 2026-09-14 3/150 2026-09-16 20:39 by MHf40yA0Uhyb
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +4 s3fFTmArrBt6 2026-09-13 6/300 2026-09-16 16:00 by i3KBRD19ERkG
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +4 QUjhNVAcOSff 2026-09-13 6/300 2026-09-16 14:27 by i3KBRD19ERkG
[考博] 上海工程技术大学激光智能制造课题组|2027级博士研究生招生公告 +7 水士口 2026-09-16 8/400 2026-09-16 13:47 by kkklens
[考博] 上海工程技术大学激光智能制造课题组招收博士研究生 +8 两三岁ss 2026-09-14 8/400 2026-09-16 09:46 by 水士口
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +5 LwdutQ8HoqWP 2026-09-13 5/250 2026-09-16 03:14 by DgNGHc3h5tPl
[找工作] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 3n8v2C8RimXI 2026-09-13 3/150 2026-09-16 02:38 by DgNGHc3h5tPl
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 QUjhNVAcOSff 2026-09-13 5/250 2026-09-16 02:14 by DgNGHc3h5tPl
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +6 3n8v2C8RimXI 2026-09-13 6/300 2026-09-15 05:38 by 5BDX0d0WFp7t
[基金申请] 求教各位大神:2026教育部人文社科青年基金项目何时公示呀? +5 云宴山人 2026-09-10 7/350 2026-09-14 12:11 by ecnu2013
信息提示
请填处理意见