编写程序,实现两个字符串的连接,不用strcat函数
时间: 2023-12-21 17:04:44 浏览: 51
好的,这是一个比较简单的问题。你可以用一个循环遍历第一个字符串到末尾,然后将第二个字符串一个一个字符地添加到第一个字符串末尾。以下是一个示例代码:
```
#include <stdio.h>
void string_concat(char s1[], char s2[]) {
int i, j;
i = j = 0;
while (s1[i] != '\0') {
i++;
}
while (s2[j] != '\0') {
s1[i] = s2[j];
i++;
j++;
}
s1[i] = '\0';
}
int main() {
char s1[100] = "hello";
char s2[50] = "world";
string_concat(s1, s2);
printf("%s", s1);
return 0;
}
```
这个程序会将字符串 "world" 添加到字符串 "hello" 的末尾,结果将会是 "helloworld"。
相关问题
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()`函数将连接后的字符串输出到控制台。