無論何時我們需要使用反斜槓(轉義字符)打印雙引號,我們必須在打開引號並關閉它或僅關閉一次的同時使用它兩次。C語言的雙引號
即是這樣的:
printf(" \" \" ");
或像這樣:
printf(" \" " ");
哪一個是正確的?
我需要打印(「Whatever!」 He said 「The Sparrows are flying again.」
)
無論何時我們需要使用反斜槓(轉義字符)打印雙引號,我們必須在打開引號並關閉它或僅關閉一次的同時使用它兩次。C語言的雙引號
即是這樣的:
printf(" \" \" ");
或像這樣:
printf(" \" " ");
哪一個是正確的?
我需要打印(「Whatever!」 He said 「The Sparrows are flying again.」
)
對於每一個雙引號你願意,你既需要反斜線和雙引號的字符串中出現。
您可以將您希望忽略的任何引用作爲代碼進行轉義並用作字符串。 所以你的情況會是這樣的:
printThis(「\"Whatever!\」 He said \「The Sparrows are flying again.\」");
哦,明白了!謝謝:) –
'\「'不是一個定義的轉義序列,OP使用的是明智的引號。 – chux
我會爭論的OP從來沒有說過任何關於「聰明的引號」的東西,即使這是出現在文章中的時候,MSWord也是這樣的方便的東西,但是,如果OP詢問了精明的引語,那麼你會是正確的 – durbnpoisn
反斜槓是什麼讓你使用雙引號和其他特殊charachters。對於每一個,你應該使用單反斜線:
printf("\"") --> "
printf("\'") --> '
printf("\\") --> \
等
所以printf("\「Whatever!\」 He said \「The Sparrows are flying again.\」")
會給你所需輸出
編輯:作爲Chux提到,」
是沒有正規的雙引用"
,在這種情況下,不需要反斜槓,printf("「Whatever!\」 He said \「The Sparrows are flying again.」")
就足夠了。 但,使用反斜槓不會導致即使雙引號「智能引號」
'\「'不是一個定義的轉義序列,OP使用的是明智的引號 – chux
謝謝。沒有看到 – CIsForCookies
尷尬後置代碼,編譯與「未知的轉義序列:'\ 224'」的警告。令我懊惱的是,我經常犯同樣的錯誤。順便說一句,即使雙引號是C語言規範不支持的「引號」,反斜槓也不會引起錯誤行爲。 – chux
這是一個雙引號由C編譯器識別的錯誤行爲:"
。以下都不是:「」
。看到不同?
因此,你的代碼應該閱讀,簡單地說:
printf("「Whatever!」 He said 「The Sparrows are flying again.」\n");
如果不希望使用「智能」引號,你需要改變常規的報價和逃生所有的人都 :
printf("\"Whatever!\" He said \"The Sparrows are flying again.\"\n");
類似問題http://stackoverflow.com/questions/9582781/c-sharp-two-double-quotes – code11
如果同樣要打印的括號,你必須使用'的printf(「\(\ 「什麼!」他說道,「麻雀又飛了。」「)」);' –
'printf(「\」「」);'應該生成一個編譯器錯誤。 – chux