24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1184  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 085600材料与化工301分求调剂院校 +12 刺痛jk 2026-04-06 13/650 2026-04-06 09:44 by lqwchd
[考研] 化学调剂求助 +7 LULONG1 2026-04-03 7/350 2026-04-06 06:41 by houyaoxu
[考研] 262求调剂 +7 天下第一文 2026-04-04 8/400 2026-04-05 21:31 by 激流勇渡
[考研] 085600,320分求调剂 +7 大馋小子 2026-04-01 8/400 2026-04-05 21:19 by 学员8dgXkO
[考研] 329求调剂 +17 miaodesi 2026-04-02 20/1000 2026-04-05 18:33 by 蓝云思雨
[考研] 285求调剂 +11 哦呦呼o 2026-04-04 11/550 2026-04-05 08:15 by 544594351
[考研] 考研调剂 +6 15615482637 2026-04-04 6/300 2026-04-04 22:43 by yu221
[考研] 材料工程085601数二英一335求调剂 +6 双马尾痞老板2 2026-03-31 6/300 2026-04-04 22:29 by hemengdong
[考研] 292求调剂 +11 2022080213 2026-04-04 13/650 2026-04-04 18:38 by macy2011
[考研] 一志愿华南师范361分,化学求调剂 +7 Nicole88888 2026-04-01 7/350 2026-04-04 18:28 by macy2011
[考研] 怎么删帖子啊 +3 缝曦1000 2026-04-04 3/150 2026-04-04 14:20 by 土木硕士招生
[考研] 22408,264求调剂 +3 ywh729 2026-04-03 4/200 2026-04-04 11:04 by ywh729
[考研] 考研调剂 +8 不爱喝饮料 2026-04-03 8/400 2026-04-03 16:40 by Mistake-J
[考研] 调剂 +3 osbbx 2026-04-02 3/150 2026-04-03 07:47 by cc8418
[考研] 302求调剂 +9 zyx上岸! 2026-04-02 9/450 2026-04-02 23:07 by 马儿快快地跑
[考研] 考研调剂 +3 李木子0120 2026-04-02 5/250 2026-04-02 21:45 by dongzh2009
[考研] 372求调剂 +3 jj涌77 2026-04-02 3/150 2026-04-02 09:57 by olim
[考研] 08工科275求调剂,可跨考。 +5 AaAa7420 2026-03-31 5/250 2026-04-01 15:21 by 159357hjz
[考研] 318求调剂 +8 七忆77 2026-04-01 8/400 2026-04-01 10:37 by Jaylen.
[考研] 293求调剂 +3 末未mm 2026-03-30 5/250 2026-03-30 17:23 by 王保杰33
信息提示
请填处理意见