所以,我可以在Fortran語言既初始化字符串時'...'和「...」有什麼區別?
CHARACTER(LEN=4)::string
string = "jklm"
和
CHARACTER(LEN=4)::string
string = 'jklm'
什麼區別初始化字符串?
所以,我可以在Fortran語言既初始化字符串時'...'和「...」有什麼區別?
CHARACTER(LEN=4)::string
string = "jklm"
和
CHARACTER(LEN=4)::string
string = 'jklm'
什麼區別初始化字符串?
對fortan文檔一瞥,大部分看起來都是一樣的。儘管如果您打算在字符串中使用單引號,請使用雙引號將其括起來。
// correct
"John's Stuff"
// wrong
'John's Stuff'
或者:
// correct
'She said "Hey!"'
// wrong
"She said "Hey!""
http://www.fortran90.org/src/rosetta.html#strings-and-formatting
編輯:順便說一句,這同樣適用於大多數編程語言。
也正確的'約翰的東西'和'約翰'的東西「,即加倍引號或撇號。 –
@HighPerformanceMark轉義字符曾經給我做惡夢:) – Brian
在功能上,它們是相同的。儘管「」看起來更具可讀性,但完全沒有區別。
作爲一個次要的(也許不重要的)一點,這裏沒有_initialization_,只是_assignment_。重要的概念是分隔字符常量。 – francescalus
@francescalus謝謝澄清。但是,儘管我嘗試翻譯,但我還是不太明白你的第二句話。你的意思是說...我只將字符串分配給一個已經存在的格式字符串常量(「jklm」)? –
''jklm''就是所謂的(人物)_常量__。這是一種由四個字母組成的價值,並始終具有這種價值的東西。這樣的常量可以用於初始化,賦值或其他許多方面,引用/撇號的解釋不會改變它。因此,告訴編譯器「這裏的內容形成一個字符串」和「這裏的內容回到字符串外部」的分隔符('「或''')不是特定於初始化,而是說」常量「。 [希望這並沒有讓事情變得不那麼明顯...] – francescalus