利用C将两个字符串连接为一个字符串,不许使用库函数strcat。
时间: 2024-05-13 07:21:11 浏览: 92
可以使用指针或数组,遍历第一个字符串并逐个复制到新字符串中,再遍历第二个字符串并逐个复制到新字符串的末尾。代码示例如下:
```
#include <stdio.h>
void concat(char str1[], char str2[], char result[]) {
int i, j;
for (i = 0; str1[i] != '\0'; i++) {
result[i] = str1[i];
}
for (j = 0; str2[j] != '\0'; j++) {
result[i + j] = str2[j];
}
result[i + j] = '\0';
}
int main() {
char str1[] = "hello";
char str2[] = "world";
char result[11];
concat(str1, str2, result);
printf("%s\n", result); // "helloworld"
return 0;
}
```
相关问题
将两个字符串连接为一个字符串,不许使用库函数strcat。
可以使用循环遍历两个字符串,将第一个字符串的每个字符依次赋值给新字符串,然后再将第二个字符串的每个字符依次赋值给新字符串。最后在新字符串的末尾添加一个结束符'\0'即可。具体实现可以参考以下代码:
```c
#include <stdio.h>
void my_strcat(char *str1, char *str2, char *result) {
int i, j;
// 将第一个字符串复制到结果字符串中
for (i = 0; str1[i] != '\0'; i++) {
result[i] = str1[i];
}
// 将第二个字符串复制到结果字符串中
for (j = 0; str2[j] != '\0'; j++) {
result[i + j] = str2[j];
}
// 在结果字符串末尾添加结束符
result[i + j] = '\0';
}
int main() {
char str1[] = "hello";
char str2[] = "world";
char result[100];
my_strcat(str1, str2, result);
printf("%s\n", result);
return 0;
}
```
请编写函数实现将两个字符串连接(不使用库函数strcat)
好的,以下是一个示例函数实现:
```c
#include <stdio.h>
void my_strcat(char* dest, const char* src) {
// 找到dest的末尾
while (*dest) {
dest++;
}
// 将src的内容拷贝到dest的末尾
while (*src) {
*dest = *src;
dest++;
src++;
}
// 手动添加字符串结束符
*dest = '\0';
}
int main() {
char str1[20] = "hello";
char str2[] = "world";
my_strcat(str1, str2);
printf("%s\n", str1);
return 0;
}
```
函数`my_strcat`的参数包括`dest`和`src`,`dest`是目标字符串,`src`是要拼接到目标字符串末尾的字符串。
函数的实现过程很简单,首先使用`while`循环找到`dest`的末尾,然后使用第二个`while`循环将`src`的内容拷贝到`dest`的末尾,最后手动添加字符串结束符。
在`main`函数中,我们声明了两个字符串`str1`和`str2`,将`str2`拼接到`str1`的末尾,输出结果为`helloworld`。
阅读全文