用 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;
广告