dvbbs
收藏本页
联系我们
论坛帮助
dvbbs

>> Fortran语言使用经验交流
搜一搜更多此类问题 
Fortran中文网Fortran中文网—Fortran语言经验交流Fortran语言使用经验交流 → [求助]语法错误,但运行有错误(原因是试图修改常数的值)

您是本帖的第 3297 个阅读者
树形 打印
标题:
[求助]语法错误,但运行有错误(原因是试图修改常数的值)
tianlang
帅哥哟,离线,有人找我吗?
等级:新手上路
文章:6
积分:288
门派:无门无派
注册:2006年3月12日
楼主
 用支付宝给tianlang付款或购买其商品,支付宝交易免手续费、安全、快捷! 点击这里发送电子邮件给tianlang

发贴心情
[求助]语法错误,但运行有错误(原因是试图修改常数的值)
本人初用fortran 用的是Visual fortran 6.0 今日写了一段程序,语法没错,但就是生不成exe文件。
望高手赐教。谢谢!
程序代码:
PROGRAM IJM
COMMON /SM/ II(70),JJ(70),KK(70)
NE=64
CALL B1(1,32,1,18)
CALL B1(33,36,18,35)
CALL B1(37,42,22,39)
CALL B1(43,48,27,44)
CALL B1(49,52,32,49)
CALL B2(53,56,20,37)
CALL B2(57,60,25,42)
CALL B2(61,64,30,47)
OPEN (8,FILE='IJM.DAT',FORM='FORMATTED',STATUS='NEW')
WRITE (8,90) NE
WRITE(8,90)(II(I),I=1,NE)
WRITE(8,90)(JJ(I),I=1,NE)
WRITE(8,90)(KK(I),I=1,NE)
90 FORMAT(1X,10I6)
END
SUBROUTINE B1(I1,I2,L1,L2)
COMMON /SM/ II(70),JJ(70),KK(70)
DO 4 I=I1,I2,2
II(I)=L1
JJ(I)=L2
KK(I)=L1+1
II(I+1)=L1+1
JJ(I+1)=L2
KK(I+1)=L2+1
L1=L1+1
4 L2=L2+1
END
SUBROUTINE B2(I1,I2,L1,L2)
COMMON /SM/ II(70),JJ(70),KK(70)
DO 6 I=I1,I2,2
II(I)=L1
JJ(I)=L2
KK(I)=L2+1
II(I+1)=L1
JJ(I+1)=L2+1
KK(I+1)=L1+1
L1=L1+1
6 L2=L2+1
END
错误:如下图

此主题相关图片如下:
按此在新窗口浏览图片
4 L2=L2+1 这句是什么意思?
[此贴子已经被齐东野人于2006-3-31 23:25:58编辑过]
ip地址已设置保密
2006/3/31 19:30:20
齐东野人
帅哥哟,离线,有人找我吗?
头衔:复兴汉服
等级:论坛游侠
文章:240
积分:1542
门派:无门无派
注册:2006年1月11日
2
 用支付宝给齐东野人付款或购买其商品,支付宝交易免手续费、安全、快捷! 点击这里发送电子邮件给齐东野人

发贴心情

4 L2=L2+1 这句是什么意思?


复兴汉服,还我中华衣冠,复我中华礼仪
http://www.tianhan.com.cn/bbs/index.asp
<img>http://memory.116.com.cn/uploadfiles/ttmovie/2005222154103.jpg</img>
ip地址已设置保密
2006/3/31 20:12:41
tianlang
帅哥哟,离线,有人找我吗?
等级:新手上路
文章:6
积分:288
门派:无门无派
注册:2006年3月12日
3
 用支付宝给tianlang付款或购买其商品,支付宝交易免手续费、安全、快捷! 点击这里发送电子邮件给tianlang

发贴心情

SUBROUTINE B1(I1,I2,L1,L2)
COMMON /SM/ II(70),JJ(70),KK(70)
DO 4 I=I1,I2,2
II(I)=L1
JJ(I)=L2
KK(I)=L1+1
II(I+1)=L1+1
JJ(I+1)=L2
KK(I+1)=L2+1
L1=L1+1
4 L2=L2+1
END

上面这段的图形如下。

此主题相关图片如下:
按此在新窗口浏览图片

和L1=L1+1 相似 就是往下循环
[此贴子已经被作者于2006-3-31 20:49:51编辑过]
ip地址已设置保密
2006/3/31 20:47:59
齐东野人
帅哥哟,离线,有人找我吗?
头衔:复兴汉服
等级:论坛游侠
文章:240
积分:1542
门派:无门无派
注册:2006年1月11日
4
 用支付宝给齐东野人付款或购买其商品,支付宝交易免手续费、安全、快捷! 点击这里发送电子邮件给齐东野人

发贴心情


SUBROUTINE B1(I1,I2,L1,L2)
L1=L1+1
END

这个地方定义的L1是个参数,还给改了值了。

CALL B1(1,32,1,18)

这个L1是个1这个常数了。不能修改了。

btw,你用F77的语法写的东西,我习惯了90看起来特别慢,呵呵。你程序里面do循环的表达方式我可是第一次见到。还有common定义的全局变量,我也不太会用。孤陋寡闻了。

希望大家多支持90,尽量用90的语法写程序。


复兴汉服,还我中华衣冠,复我中华礼仪
http://www.tianhan.com.cn/bbs/index.asp
<img>http://memory.116.com.cn/uploadfiles/ttmovie/2005222154103.jpg</img>
ip地址已设置保密
2006/3/31 23:21:47
tianlang
帅哥哟,离线,有人找我吗?
等级:新手上路
文章:6
积分:288
门派:无门无派
注册:2006年3月12日
5
 用支付宝给tianlang付款或购买其商品,支付宝交易免手续费、安全、快捷! 点击这里发送电子邮件给tianlang

发贴心情

问题解决了,把子程序改成下面的就好了。

SUBROUTINE B1(I1,I2,L1,L2)
COMMON /SM/ II(70),JJ(70),KK(70)
L11=L1
L22=L2

DO 4 I=I1,I2,2
II(I)=L11
JJ(I)=L22
KK(I)=L11+1
II(I+1)=L11+1
JJ(I+1)=L22
KK(I+1)=L22+1
L11=L11+1
4 L22=L22+1
END
SUBROUTINE B2(I1,I2,L1,L2)
COMMON /SM/ II(70),JJ(70),KK(70)
L11=L1
L22=L2
DO 6 I=I1,I2,2
II(I)=L11
JJ(I)=L22
KK(I)=L22+1
II(I+1)=L11
JJ(I+1)=L22+1
KK(I+1)=L11+1
L11=L11+1
6 L22=L22+1
END

ip地址已设置保密
2006/4/1 14:41:59
tingtian
帅哥哟,离线,有人找我吗?
等级:版主
文章:36304
积分:426144
门派:无门无派
注册:2006年3月28日
6
 用支付宝给tingtian付款或购买其商品,支付宝交易免手续费、安全、快捷! 点击这里发送电子邮件给tingtian

用户已被锁定
ip地址已设置保密
2006/4/6 11:27:13
tingtian
帅哥哟,离线,有人找我吗?
等级:版主
文章:36304
积分:426144
门派:无门无派
注册:2006年3月28日
7
 用支付宝给tingtian付款或购买其商品,支付宝交易免手续费、安全、快捷! 点击这里发送电子邮件给tingtian

用户已被锁定
ip地址已设置保密
2006/4/6 11:34:16

 7   7   1/1页      1    
网上贸易 创造奇迹! 阿里巴巴 Alibaba
Powered By Dvbbs Version 7.1.0 Sp1
Copyright ©2005 - 2008 www.fortran.cn
页面执行时间 0.14258 秒, 5 次数据查询
京ICP备05056801号