使用数组连接两个字符串的C程序


2022年3月3日, Learn eTutorial
1669

为了更好地理解,我们始终建议您学习下面列出的C语言编程基础主题

什么是字符串连接?

连接两个字符串意味着我们需要通过在一个单词后面添加另一个单词来将两个单词连接在一起。使用C程序进行连接非常简单易懂,也很有用。

C语言中如何实现字符串连接?

这个程序的逻辑是首先读取两个字符串,分别命名为“string1”和“string2”。我们必须将第二个字符串连接到第一个字符串的末尾。读取字符串后,我们必须计算“string1”的末尾,在那里我们必须连接第二个字符串。为了找出“string1”的结束位置,我们必须使用条件string[i] != '\0'通过for循环遍历“string1”。

获取“string1”的结束位置“pos”后,使用for循环将“string2”的第一个字符放到“string1”的结束位置。将“string1”的最后一个字符设置为null。然后将连接后的字符串显示为“string1”。

算法

步骤1: 包含头文件以在C程序中使用内置函数。

步骤2: 包含头文件“string.h”以处理字符数组。

步骤3: 声明两个字符数组“string1”和“string2”。

步骤4: 声明整数变量“I”、“j”、“pos”。

步骤5: 将“string1”和“string2”中的所有出现都设置为NULL。

步骤6: 使用gets()函数将第一个字符串接受到“string1”,将第二个字符串接受到“string2”。

步骤7: 使用printf函数显示“string1”和“string2”。

步骤8: 要将第二个字符串连接到第一个字符串,首先使用条件string[i] != '\0'通过for循环遍历“string1”。

步骤9: 遍历“string1”后,我们得到“string1”的末尾位置,在此位置我们需要添加第二个字符串。

步骤10: 使用另一个for循环,我们将“string2”的每个字符放到“string1”的末尾。

步骤11: 将“string1”的最后一个字符设置为“\0”。

步骤12: 然后将连接后的字符串显示为“string1”。

C 语言源代码

                                          #include <stdio.h>
#include <string.h>

void main()
{

  char string1[20], string2[20];
  int i, j, pos;
  printf("Enter the first string :");
  gets(string1);
  fflush(stdin);
  printf("Enter the second string:");
  gets(string2);
  printf("First string  = %s\n", string1);
  printf("Second string = %s\n", string2);
  /*To concatenate the second string to the 
end of the string traverse the first to its end and attach the second string*/
  for (i = 0; string1[i] != '\0'; i++) {} /*null statement: simply traversing the string 1*/
  pos = i;
  for (i = pos, j = 0; string2[j] != '\0'; i++) {
    string1[i] = string2[j++]; /* add the string two to end of string one  */
  }
  string1[i] = '\0'; /*set the last character of string1 to NULL*/
  printf("Concatenated string = %s\n", string1);
}
                                      

输出

Enter the first string: CD-
Enter the second string: ROM
First string  = CD-
Second string = ROM

Concatenated string = CD-ROM