编写程序,实现两个字符串的连接,不用strcat函数
时间: 2023-12-21 07:04:43 浏览: 99
好的,可以使用以下代码来实现两个字符串的连接:
```
#include <stdio.h>
#include <string.h>
int main() {
char str1[50], str2[50];
printf("Enter the first string: ");
scanf("%s", str1);
printf("Enter the second string: ");
scanf("%s", str2);
int i, j;
for(i = 0; str1[i] != '\0'; ++i);
for(j = 0; str2[j] != '\0'; ++j, ++i) {
str1[i] = str2[j];
}
str1[i] = '\0';
printf("Concatenated string: %s", str1);
return 0;
}
```
在上述代码中,我们使用了两个 for 循环,第一个循环计算第一个字符串的长度,第二个循环将第二个字符串连接到第一个字符串的末尾。最后,我们将字符串的末尾设置为 null 终止符。
相关问题
c语言编写程序实现两个字符串相连接,不用strcat函数
,该怎么做?
可以通过以下步骤实现两个字符串相连接:
1. 创建一个新的字符数组,用于存储连接后的字符串。
2. 使用循环将第一个字符串中的字符逐个复制到新的字符数组中。
3. 使用另一个循环将第二个字符串中的字符逐个复制到新的字符数组中,从第一个字符串的末尾开始。
4. 在新的字符数组的末尾添加一个空字符 '\0',以表示字符串的结束。
以下是可以实现上述步骤的C语言代码示例:
```c
#include <stdio.h>
void stringConcat(char str1[], char str2[], char newStr[])
{
int i, j;
// 复制第一个字符串
for(i=0; str1[i]!='\0'; i++)
{
newStr[i] = str1[i];
}
// 复制第二个字符串
for(j=0; str2[j]!='\0'; j++)
{
newStr[i+j] = str2[j];
}
// 添加结束符
newStr[i+j] = '\0';
}
int main()
{
char str1[50] = "Hello";
char str2[25] = "World";
char newStr[75];
// 连接两个字符串
stringConcat(str1, str2, newStr);
printf("连接后的字符串为: %s", newStr);
return 0;
}
```
请注意,上述代码仅适用于两个字符串的连接。如果需要连接多个字符串,则需要进行更复杂的操作。
用c语言编写程序,实现两个字符串的连接,不用strcat函数。
可以使用指针来实现两个字符串的连接,具体的实现方式如下:
```c
#include <stdio.h>
void my_strcat(char* dest, const char* src) {
while (*dest) {
dest++;
}
while (*src) {
*dest++ = *src++;
}
*dest = '\0';
}
int main() {
char str1[100] = "Hello, ";
char str2[] = "world!";
my_strcat(str1, str2);
printf("%s", str1);
return 0;
}
```
在这个程序中,我们定义了一个`my_strcat()`函数来实现字符串连接的功能。这个函数接收两个参数:目标字符串`dest`和源字符串`src`。首先,我们使用一个循环将`dest`指针移动到目标字符串的末尾。然后,我们使用另一个循环将`src`指针指向的字符逐一复制到`dest`指针指向的位置,直到`src`指向的字符为`\0`。最后,我们在`dest`指针指向的位置插入一个`\0`,表示字符串的结束。
在`main()`函数中,我们定义了两个字符串`str1`和`str2`,然后调用`my_strcat()`函数将它们连接起来。最后,我们使用`printf()`函数将连接后的字符串输出到控制台。
阅读全文