Fortran的一个错误,关于数组赋值的。

错误是:Error:Eachac-valueexpressioninanarray-constructormusthavethesametypeandtypeparame... 错误是:
Error: Each ac-value expression in an array-constructor must have the same type and type parameters.
源代码是:

program main
implicit none

real(8) a(3),b(3,3),c(3)
integer(4) i

a=(/1,2,3/)
c=(/1,a(2:3)/)

stop
end
错误发生在“c=(/1,a(2:3)/)”这里
展开
 我来答
9192631770
2012-01-18 · TA获得超过7306个赞
知道大有可为答主
回答量:3138
采纳率:50%
帮助的人:2944万
展开全部
错误信息的含义是数组赋值的语句里所有元素必须是同一数据类型

变量a是real(8),虽然程序中赋值用的是整形的(/1,2,3/),fortran会自动将其转换成real(8)。
c=(/1,a(2:3)/)这句里1是整形,后面的a(2:3)是real(8),数据类型不同,所以报错了。

可以改成
c=(/1.0_8,a(2:3)/)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式