首頁  >  文章  >  後端開發  >  如何在 C 中連接字串文字和字元文字?

如何在 C 中連接字串文字和字元文字?

DDD
DDD原創
2024-10-25 09:05:02416瀏覽

How to Concatenate String Literals and Character Literals in C  ?

C 中的字串文字和字元文字

嘗試將字串文字與 C 中的字元文字連接時,可能會發生意外行為。例如:

<code class="cpp">string str = "ab" + 'c';
cout << str << endl;</code>

此程式碼會產生不可預測的輸出,因為沒有定義「」運算子來組合字串文字和字元文字。相反,編譯器將字串文字視為 C 樣式字串(const char 指標),並將字元文字的提升 int 值新增至字串文字的位址。這會導致未定義的行為。

要避免此問題,請在連接之前將字元文字明確轉換為字串:

<code class="cpp">std::string str = std::string("ab") + 'c';</code>

或者,使用連接來實現所需的結果:

<code class="cpp">std::string str = "ab";
str += 'c';</code>

在第二個程式碼片段中,字串物件有一個重載的「」運算符,用於執行預期的連接。

以上是如何在 C 中連接字串文字和字元文字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn