帮忙调试一个fortran程序,运行时提示This name has not been declared as an array or a function. [S
programstarimplicitnonecharacter*11sintegeri,jdoi=1,6doj=7-i,5+is=''s(j,j)='*'print*,...
program star
implicit none
character*11 s
integer i,j
do i=1,6
do j=7-i,5+i
s=' '
s(j,j)='*'
print*,s
enddo
enddo
end 展开
implicit none
character*11 s
integer i,j
do i=1,6
do j=7-i,5+i
s=' '
s(j,j)='*'
print*,s
enddo
enddo
end 展开
展开全部
这个问题表明你对Fortran中的character类型理解还不够:
完整的定义为:character*m s(n)表示定义了一个字符数组s,该数组的每个元素可以存放m个字符。
--------------------------------------------------------------
你的character*11 s就表示定义了一个变量,该变量可以存放11个字符。
既然已经声明为变量,那么你用数组的下标s(j,j)='*'来引用就有问题了嘛,此外你还用二维数组的形式来引用就有些莫名奇妙了!
--------------------------------------------------------------
你可以这样改
character s(11)
do i=1,6
do j=7-i,5+i
s=' '
s(j)='*'
print*,s
enddo
enddo
效果如图
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询