一个fortran程序
programmainimplicitnoneintegeriinteger,external::GetIntegeri=GeTINTEGER()write(*,*)is...
program main
implicit none
integer i
integer,external::GetInteger
i= GeTINTEGER()
write(*,*) i
stop
end program
integer function getinteger()
implicit none
character(len=80)::string
logical::invalid
integer i,code
invalid=.true.
do while(invalid)
read(*,"(A80)") string
invalid= .false.
do i=1,len_trim(string)
code=ichar(string(i:i))
if(code<ichar('0').or.code>ichar('9'))then
invalid=.false.
exit
end if
end do
end do
read(string,*)getinteger
return
end function
如果输入存在0-9以外的字符会转回去让用户重新输入,直到输入的全是0-9的数字为止,但是当我用visual studio编译的时候,如果有0-9以外的字符,就会触发间断点,这是为什么? 展开
implicit none
integer i
integer,external::GetInteger
i= GeTINTEGER()
write(*,*) i
stop
end program
integer function getinteger()
implicit none
character(len=80)::string
logical::invalid
integer i,code
invalid=.true.
do while(invalid)
read(*,"(A80)") string
invalid= .false.
do i=1,len_trim(string)
code=ichar(string(i:i))
if(code<ichar('0').or.code>ichar('9'))then
invalid=.false.
exit
end if
end do
end do
read(string,*)getinteger
return
end function
如果输入存在0-9以外的字符会转回去让用户重新输入,直到输入的全是0-9的数字为止,但是当我用visual studio编译的时候,如果有0-9以外的字符,就会触发间断点,这是为什么? 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询