C语言Strings串联
字符串的串联是将两个字符串组合为一个字符串的过程。如果有两个字符串,则将第二个字符串添加到第一个字符串的末尾。
例如,Hello + lidihuo = Hello lidihuo
我们可以通过以下三种方式来连接字符串:
使用循环连接两个字符串
使用指针连接两个字符串
使用strcat()函数连接两个字符串
使用循环连接两个字符串
#include <stdio.h>
int main()
{
char first_string[20]; // declaration of char array variable
char second_string[20]; // declaration of char array variable
int i; // integer variable declaration
printf("Enter the first string");
scanf("%s",first_string);
printf("\nEnter the second string");
scanf("%s",second_string);
for(i=0;first_string[i]!='\0';i++);
for(int j=0;second_string[j]!='\0';j++)
{
first_string[i]=second_string[j];
i++;
}
first_string[i]='\0';
printf("After concatenation, the string would look like: %s", first_string);
return 0;
上述程序分析
在上述程序中,我们声明了两个字符串,即 first_string 和 second_string 。用户将这两个字符串的值用作输入。
我们将连接这两个字符串,并将连接结果存储在 first_string
我们声明一个名为' i '的新整数变量。声明后,我们将运行一个循环,该循环从 i = 0 迭代直到遇到 first_string 的空字符。循环执行完成后," i "的值等于字符串的长度加一。
我们将定义另一个新循环,该循环基本上用于连接两个字符串。此循环从 j = 0 开始,一直执行直到遇到 second_string 的空字符。每次迭代时,位于 second_string 中第 j th 位置的字符都存储在 i t
h 位置。这样,两个字符串就组合在一起形成一个字符串。
输出
使用指针连接两个字符串
#include <stdio.h>
int main()
{
char string1[20]; // char array declaration
char string2[20]; // char array declaration
int i=0,j=0; // declaration of integer variables
char *str1; // declaration of char pointer
char *str2; // declaration of char pointer
str1=string1;
str2=string2;
printf("Enter the first string");
scanf("%s",string1);
printf("\nEnter the second string");
scanf("%s", string2);
while(string1[i]!='\0')
{
++str1;
i++;
}
while(string2[j]!='\0')
{
*str1=*str2;
str1++;
str2++;
j++;
}
printf("The concatenated string is %s",string1);
return 0;
}
上述程序分析
在上面的程序中,我们声明了字符数组变量,即 string1 和 string2 。我们将两个字符串作为用户输入,并将它们存储在变量 string1 和 string2, 中
我们声明两个char指针str1和str2、 str1包含字符串1的地址,str2包含字符串2的地址。
我们创建一个循环,直到遇到string1的空字符为止。循环执行完成后,指针str1指向紧接最后一个字符的位置之后的位置。
我们定义了另一个while循环,该循环迭代直到遇到string2的空字符。在每次迭代中,使用语句 * str1 = * str2、将存储在string2中第j 位置的字符追加到string1、
输出
使用strcat()连接两个字符串
现在,我们将看到如何使用 strcat()函数连接两个字符串。 strcat()是在 string.h 头文件中定义的内置函数。
让我们看一下示例。
#include <stdio.h>
#include<string.h>
int main()
{
char s1[20]; // declaration of char array
char s2[20]; // declaration of char array
printf("Enter the first string : ");
scanf("%s", s1);
printf("\nEnter the second string :");
scanf("%s",s2);
strcat(s1,s2);
printf("The concatenated string is : %s",s1);
return 0;
}
在上面的代码中,我们使用strcat()函数连接两个字符串。它使用两个字符串作为参数,然后将第二个字符串附加在第一个字符串的末尾。
输出