You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Fortran二维数组赋值报形状不匹配错误6366如何修正

报错原因

你定义的数组i为Dimension(1,10),属于二维数组(1行10列,秩为2),而赋值语句右侧的[1,2,3,4,5,6,7,8,9,10]是一维数组构造器,生成的是秩为1、长度为10的一维数组,二者形状不匹配,因此触发形状不兼容的编译错误。

修正方案

根据你的实际使用需求,有两种常见修正方式:

  • 方案1:将i改为一维数组
    如果你不需要使用二维结构,直接修改数组定义即可,将定义行改为:
    real, Dimension(10) :: i
    
  • 方案2:保留二维数组,调整赋值逻辑
    如果你确实需要保留1行10列的二维结构,修改赋值语句,显式指定对二维数组的第一行所有列赋值:
    i(1,:) = [1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10]
    
完整修正示例(以方案1为例)
program test_random_seed
  implicit none
  real*16:: n , j
  real, Dimension(10) :: i

  i = [1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10]
  
  write(*,101) i
  pause
101 format(F0.5)    
end program test_random_seed

内容的提问来源于stack exchange,提问作者nima sahakie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 12:45:03