- 积分
- 96
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-2-27
- 最后登录
- 1970-1-1
|
Fortran
系统平台: |
IVF2011 VS2011 |
问题概况: |
一个很简短的把二进制IP地址转化成10进制的小程序
用的IVF2011装在了VS2011上 WIN8.1的系统
麻烦大家能看一下 最好能赐教一下为什么IVF不像CVF那样,出错了会把错误定位到那一行??? |
问题截图: |
|
我看过提问的智慧: |
看过 |
自己思考时长(天): |
1 |
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
PROGRAM NUMBER
IMPLICIT NONE
CHARACTER(LEN=15)::IP_ADDRESS_DEC,F
CHARACTER(LEN=32)::IP_ADDRESS_BIN
IP_ADDRESS_BIN='11010101011111011011000010000011'
IP_ADDRESS_DEC=F(IP_ADDRESS_BIN)
PRINT*,IP_ADDRESS_DEC
END PROGRAM NUMBER
!
FUNCTION F(X) RESULT(G)
IMPLICIT NONE
CHARACTER(LEN=1)::TMP,DOT='.'
CHARACTER(LEN=15)::G
CHARACTER(LEN=3)::DEC
CHARACTER(LEN=32)::X
INTEGER::I,J,M,N,D,ZERO,TEMP
G=' '
ZERO=ICHAR('0') !ZERO=48
M=0
N=0
DO I=1,4
TEMP=0
DO J=1,8
TMP=X(J+M*8:J+M*8)
D=ICHAR(TMP)-ZERO
TEMP=TEMP*2+D
ENDDO
M=M+1
DEC='000'
DO J=3,1,-1
D=MOD(TEMP,10)
DEC(J:J)=CHAR(D+ZERO)
TEMP=TEMP/10
ENDDO
DO J=1,3
G(J+N*4:J+N*4)=DEC(J:J)
ENDDO
IF(I<4) G(J+N*4,J+N*4)=DOT
N=N+1
ENDDO
END FUNCTION F
!
!
下面是编译出来的错误信息:
错误 1 error #6410: This name has not been declared as an array or a function. [G] C:\Users\\Desktop\shijinzhi_erjinzhi\shijinzhi_erjinzhi\Source1.f90
错误 2 error #6303: The assignment operation or the binary expression operation is invalid for the data types of the two operands. [DOT] C:\Users\\Desktop\shijinzhi_erjinzhi\shijinzhi_erjinzhi\Source1.f90
错误 3 Compilation Aborted (code 1) C:\Users\雄\Desktop\shijinzhi_erjinzhi\shijinzhi_erjinzhi\Source1.f90 1
求大家能看一下 真的是小白 不会弄了
|
|