我继承了一些Fortran代码,我正在尝试理解这些代码。它在很多地方使用了实数变量,我认为这是不应该的--但也许我误解了Fortran中它是如何工作的(与我更熟悉的C++相比),因此出现了这个问题。
因此,所讨论的变量本质上是“分类值”、“因素”或“枚举”,这取决于您如何看待它/想如何调用它。它们的数据类型是REAL,并且只能接受有限数量的预定整数值。假设变量a只能是值1、2或3。这些值是从外部文件中读取的;在这些外部文件中,它们被表示为整数,所以这不是“外部数据源中的舍入问题”之类的情况。
然而,在代码中,它从不进行直接比较,总是进行大于/低于检查。所以,与其这样做
if (a == 1)