2017-01-09 70 views
3

所以,我可以在Fortran語言既初始化字符串時'...'和「...」有什麼區別?

CHARACTER(LEN=4)::string 
string = "jklm" 

CHARACTER(LEN=4)::string 
string = 'jklm' 

什麼區別初始化字符串?

+1

作爲一個次要的(也許不重要的)一點,這裏沒有_initialization_,只是_assignment_。重要的概念是分隔字符常量。 – francescalus

+0

@francescalus謝謝澄清。但是,儘管我嘗試翻譯,但我還是不太明白你的第二句話。你的意思是說...我只將字符串分配給一個已經存在的格式字符串常量(「jklm」)? –

+0

''jklm''就是所謂的(人物)_常量__。這是一種由四個字母組成的價值,並始終具有這種價值的東西。這樣的常量可以用於初始化,賦值或其他許多方面,引用/撇號的解釋不會改變它。因此,告訴編譯器「這裏的內容形成一個字符串」和「這裏的內容回到字符串外部」的分隔符('「或''')不是特定於初始化,而是說」常量「。 [希望這並沒有讓事情變得不那麼明顯...] – francescalus

回答

3

對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

編輯:順便說一句,這同樣適用於大多數編程語言。

+2

也正確的'約翰的東西'和'約翰'的東西「,即加倍引號或撇號。 –

+0

@HighPerformanceMark轉義字符曾經給我做惡夢:) – Brian

2

在功能上,它們是相同的。儘管「」看起來更具可讀性,但完全沒有區別。

相關問題