在此 C 语言程序中,我们需要连接两个字符串,这意味着我们需要将第二个字符串添加到第一个字符串的末尾。例如,'hello' 是第一个字符串,'world' 是第二个字符串。我们需要输出“hello world”作为连接后的字符串。
为了实现这一点,声明两个字符类型的数组,'string1' 和 'string2'。然后使用 'strset() 函数' 将所有数组位置设置为 null。现在从用户那里接收两个字符串并将其存储在 'string1' 和 'string2' 中。应用一个 for 循环遍历到第一个字符串的末尾。到达末尾后,我们开始下一个循环,将第二个字符串添加到第一个字符串。结果将是连接后的字符串 'string1'。最后,显示连接后的字符串 'string1'。
strset() 函数用于将字符串的所有字符设置为给定字符。 'string.h' 头文件包含此函数;'strset()' 的语法是
strset(string1, char1);
strset() 函数主要有两个参数。
在这里,strset() 函数将把 string1 的所有字符设置为 char1。
步骤1:包含头文件以使用C语言程序中的内置函数。
步骤 2: 声明字符数组 'string1' 和 'string2'。
步骤 3: 声明整数变量 i, j, pos。
步骤 4: 将 string1 和 string2 的所有出现设置为 NULL,并 'i=0'。
步骤 5: 使用 gets() 函数从用户读取 string1。
步骤 6: 使用 gets() 函数从用户读取 string2。
步骤 7: 然后显示第一个字符串为 string1,第二个字符串为 string2。
步骤 8: 使用 for 循环,条件为 string1[i] != '\0',将 'i' 递增 1。用于获取第一个字符串的结束位置。
步骤 9: 分配 'pos=i' 和 'pos=i', j=0。
步骤 10: 使用另一个 for 循环,条件为 string2[j] != '\0',执行步骤 11。
步骤 11: string1[i] = string2[j++]。
步骤 12: 将 'i' 递增 1 并重复步骤 10。
步骤 13: 将 'string1' 的最后一个字符设置为 NULL。
步骤 14: 然后显示连接后的字符串为 string1。
#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 string1*/
pos = i;
for (i = pos, j = 0; string2[j] != '\0'; i++) {
string1[i] = string2[j++];
}
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