
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)/)”这里 展开
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)/)”这里 展开
1个回答
展开全部
错误信息的含义是数组赋值的语句里所有元素必须是同一数据类型
变量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)/)
变量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)/)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询