24小时热门版块排行榜    

查看: 1466  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 听说今天filecode变了 +19 布布和一二 2026-08-06 33/1650 2026-08-07 01:25 by 云上清扬
[基金申请] 基金中了 +6 laoda193707 2026-08-06 6/300 2026-08-06 23:34 by dragonxp
[基金申请] filecode +10 等待解的谜 2026-08-06 14/700 2026-08-06 21:16 by zhanghaozhu
[基金申请] 固定端突然变了,今天 +3 archvillain 2026-08-06 7/350 2026-08-06 21:05 by archvillain
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 6/300 2026-08-06 20:19 by 苏知砚
[有机交流] 一个有机合成实验室都需要哪些设备? 50+3 kf2781974 2026-07-31 12/600 2026-08-06 15:11 by eddyin
[基金申请] 求各位大神看下 100+6 hpkpkpkp 2026-08-05 33/1650 2026-08-06 14:49 by zhiyanjiang
[教师之家] 咨询面上基金 +4 李长云 2026-07-31 7/350 2026-08-06 11:20 by 李长云
[基金申请] 影响面上的因素 +8 布布和一二 2026-08-05 11/550 2026-08-06 10:41 by 宝贝虫子
[基金申请] 8月时间戳变的,举个手。玩一下,释放压力 +9 archvillain 2026-08-04 11/550 2026-08-05 20:06 by wlwhappy
[基金申请] 面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇! +22 低垂的野花 2026-07-31 30/1500 2026-08-05 18:03 by 低垂的野花
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
[考博] 【2027博士申请】纳米药物递送方向 20+3 13586093586 2026-08-03 4/200 2026-08-05 09:59 by lfy8008
[基金申请] 有没有H口的?有收到消息的吗? +3 超级海虾 2026-08-04 3/150 2026-08-04 17:26 by 学教育滴
[论文投稿] 十年后又回来了,论文投稿求助 +3 哈哈114477 2026-08-01 3/150 2026-08-04 15:40 by tegsgjy20
[基金申请] 纯娱乐,不喜欢勿喷 +7 Tide man 2026-08-04 10/500 2026-08-04 15:10 by loufangrui
[基金申请] 面上提前没消息,有中的吗 +14 archvillain 2026-08-02 18/900 2026-08-04 14:42 by archvillain
[基金申请] 娱乐 +4 Tide man 2026-08-03 4/200 2026-08-04 11:51 by wgch518
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
信息提示
请填处理意见