回 帖 发 新 帖 刷新版面

主题:IF 语句出错,大神们给看看

XCOORD=ABS(KCOORD)
    YCOORD=ABS(PCOORD)
    IF(XCOORD.LT.EOLOR)THEN
        COORD(IPOIN,1)=0.0
    ENDIF
    IF(YCOORD.LT.EOLOR)THEN
        COORD(IPOIN,2)=0.0
    ENDIF
错误提示
-------------------------------------------------------------------------------
Error: A scalar-valued expression is required in this context.
 IF(ABS(XCOORD).LT.EOLOR) THEN
----------------------------------------------------
不知道那一块儿是要用标量表达式的?

回复列表 (共5个回复)

沙发

DO 10 IPOIN=1,NPOIN

    READ(5,*) ICON,(COORD(IPOIN,IDIME),IDIME=1,2)
    
    KCOORD=COORD(IPOIN,1)
    PCOORD=COORD(IPOIN,2)
    EOLOR=10E-9

    XCOORD=ABS(KCOORD)
    YCOORD=ABS(PCOORD)

    IF(XCOORD.LT.EOLOR) COORD(IPOIN,1)=0.0
    IF(YCOORD.LT.EOLOR) COORD(IPOIN,2)=0.0
10    CONTINUE


后面又修改了一下这段程序  还是同样的错误提示  

需要一个标量表达式?  一头雾水啊!1

板凳

"scalar-valued expression" 我有兴趣看看你if里面的变量定义.

3 楼

问题解决了,我XCOORD 与数组 XCOORD(IPOIN) 重名

所以会出现问题


4 楼

到底是高手啊  一针见血

5 楼

我不是什么高手, 只是经验积累下来而已. 遇到这些问题猜猜原因在哪里, 试试解决就好了.

我来回复

您尚未登录,请登录后再回复。点此登录或注册