我刚开始学Fortran,对于单引号和双引号的使用感到困惑。
它们是等价的。在使用上没有任何区别。
您可以使用它来打印其中一个引号字符:
print *, "'"
print *, '"'
先打印单引号'
,再打印双引号"
。
注意:您也可以连续使用两个引号来打印一个引号:
print *, """"
print *, ''''
先输出"
再输出'
。
有一些差异。
write (6,*) " Bruce's beard "
代码运行正常,成功打印出了布鲁斯的胡须。
然而,
write (6,*) '' Bruce's beard ''
write (6,*) ' Bruce's beard '
这不会给你正确的输出,正确的输出应该是布鲁斯的胡须。
从功能上讲,它们没有区别。只需尽量保持一致性。如果您的字符串倾向于使用双引号,则应始终使用单引号;如果您更经常使用单引号,请使用双引号来分隔您的字符串。
此外,可以在字符串内部转义引号字符:(即'You\'re'
),但大多数人建议将其加倍使用,因为他们认为这样更易读(即'You''re'
)。
在注释和字符上下文之外,特殊字符"
(引号/引用)和'
(撇号)有两种用法:
这两种情况的语法规则明确允许使用"
或'
作为分隔符(但要求起始和结束分隔符匹配,因此它们并不完全可互换),在这两种情况下解释之间没有区别。(这与其他一些语言形成对比,其他语言只允许一种形式,或者每种形式可能意味着不同的东西。)
在Fortran 2018中,R724允许将"A"
和'A'
都作为文字字符常量;R766允许在指定八进制常量时同时使用O'1'
和O"1"
。(当然,这些规则不允许使用"A'
和O"1'
。)
'"A''A"'
。