用 C++ 編寫程式以連線兩個字串


字串是終止於空字元的一維字元陣列。兩個字串的串聯是將它們連線起來形成一個新字串。例如。

String 1: Mangoes are
String 2: tasty
Concatenation of 2 strings: Mangoes are tasty

以下給出一個連線兩個字串的程式。

示例

 即時演示

#include <iostream>
using namespace std;
int main() {
   char str1[100] = "Hi...";
   char str2[100] = "How are you";
   int i,j;
   cout<<"String 1: "<<str1<<endl;
   cout<<"String 2: "<<str2<<endl;
   for(i = 0; str1[i] != '\0'; ++i);
   j=0;
   while(str2[j] != '\0') {
      str1[i] = str2[j];
      i++;
      j++;
   }
   str1[i] = '\0';
   cout<<"String after concatenation: "<<str1;
   return 0;
}

輸出

String 1: Hi...
String 2: How are you
String after concatenation: Hi...How are you

在上述程式中,有兩個字串 str1 和 str2。for 迴圈用於到達 str1 的末尾。在 for 迴圈的末尾,i 包含 str1 中空值的索引。以下程式碼片段演示了這一點。

for(i = 0; str1[i] != '\0'; ++i);

while 迴圈用於將 str2 的值轉移到 str1。變數 j 從 0 開始並將 str2 中的字元複製到 i 所指向位置的 str1 中。此迴圈一直執行到 str2[j] 的值為 null。如下所示。

j=0;
while(str2[j] != '\0') {
   str1[i] = str2[j];
   i++;
   j++;
}

在將字串串聯到 str1 後,空值新增到末尾。然後顯示串聯的字串。此部分的程式碼片段如下 -

str1[i] = '\0';
cout<<"String after concatenation: "<<str1;

更新於: 24-6 月-2020

924 次檢視

啟動您的 職業

完成課程即可獲得認證

開始
廣告