Fortran中的if(isset($_GET['ref'])){
$website_ref_code = $_GET['ref'];
}
if(isset($_GET['id'])){
$website_id_code = $_GET['id'];
}
和stop
之间有什么区别?
两者都可以使用一些错误信息立即终止程序。
答案 0 :(得分:12)
exit
是一个语句,它终止循环或完成其他结构的执行。但是,问题显然是关于非标准扩展,作为函数或子例程,由许多编译器提供,与stop
语句密切相关。
例如,gfortran offers这样的事情。
由于exit
的使用是非标准的,因此您应该参考特定实现的文档,了解它采用何种形式以及它具有哪些效果。
另一方面,stop
语句是标准的Fortran语句。此语句启动正常终止执行Fortran程序(并且可以与启动错误终止的error stop
语句进行比较。
除了知道程序的终止(正常)执行遵循stop
语句并且存在停止代码之外,实际发生的实际方式再次对实现保持开放。关于会发生什么,有一些建议(但这些只是建议)。例如,在Fortran 2008中建议
上述内容相当模糊,因为在许多情况下,上述概念不适用。
通常在实践中,exit
将类似于C库的该名称的功能,其效果将类似于stop
而没有停止代码(但仍然将给定状态传递回OS)
总之,Fortran没有描述stop
和exit
之间的区别。使用exit
(终止)是不可移植的,甚至stop
的效果也没有完全定义。
答案 1 :(得分:5)
stop
是一个fortran语句,但exit
是一个恰好终止程序的函数。
stop
语句将其参数[也可以是字符串]输出到stderr
stop 123
它将向父进程返回零状态。
exit
是一个函数,必须像其他函数一样调用。它也将是沉默的(即没有消息):
call exit(123)
并且退出的参数将作为状态
返回到父进程