首頁 > 後端開發 > C++ > 主體

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

DDD
發布: 2024-10-25 09:05:02
原創
324 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!