item.for

来自「开放源码的编译器open watcom 1.6.0版的源代码」· FOR 代码 · 共 65 行

FOR
65
字号
      STRUCTURE /DATA_MAP/
	  INTEGER TYPE
	  UNION
	      MAP
		  LOGICAL	    LGL
	      END MAP
	      MAP
		  INTEGER	    INT
	      END MAP
	      MAP
		  REAL		    FLT
	      END MAP
	      MAP
		  DOUBLE PRECISION  DBL
	      END MAP
	  END UNION
      END STRUCTURE

      RECORD /DATA_MAP/ ITEM

      ITEM%TYPE = 1
      ITEM%LGL = .TRUE.
      CALL PRINT_ITEM( ITEM )
      ITEM%TYPE = 2
      ITEM%INT = 12345
      CALL PRINT_ITEM( ITEM )
      ITEM%TYPE = 3
      ITEM%FLT = 12.34
      CALL PRINT_ITEM( ITEM )
      ITEM%TYPE = 4
      ITEM%DBL = 34.56D10
      CALL PRINT_ITEM( ITEM )

      END

      SUBROUTINE PRINT_ITEM( ITEM )
	  STRUCTURE /DATA_MAP/
	      INTEGER TYPE
	      UNION
		  MAP
		      LOGICAL		LGL
		  END MAP
		  MAP
		      INTEGER		INT
		  END MAP
		  MAP
		      REAL		FLT
		  END MAP
		  MAP
		      DOUBLE PRECISION	DBL
		  END MAP
	      END UNION
	  END STRUCTURE
	  RECORD /DATA_MAP/ ITEM
	  IF( ITEM%TYPE .EQ. 1 ) THEN
	      PRINT '(L2)', ITEM%LGL
	  ELSEIF( ITEM%TYPE .EQ. 2 ) THEN
	      PRINT '(I8)', ITEM%INT
	  ELSEIF( ITEM%TYPE .EQ. 3 ) THEN
	      PRINT '(E12.5)', ITEM%FLT
	  ELSEIF( ITEM%TYPE .EQ. 4 ) THEN
	      PRINT '(D12.5)', ITEM%DBL
	  ENDIF
      END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?