编写一程序,将两个字符串连接起来,要求不用 strcat 函数,用c语言
时间: 2024-10-02 21:01:46 浏览: 31
在C语言中,不使用`strcat`函数的情况下连接两个字符串,可以手动遍历第一个字符串,并将每个字符追加到第二个字符串的末尾。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 自定义函数来连接两个字符串
void str_concat(char *dest, char *src) {
int i = 0, j = strlen(dest); // 获取dest字符串长度
// 遍历源字符串并逐个添加到dest
while (src[i] != '\0') {
dest[j] = src[i]; // 将src的字符追加到dest
j++; // 更新dest的指针位置
i++; // 更新src的指针位置
}
// 如果src有结束符'\0',也需要追加到dest
if (src[i] == '\0') {
dest[j] = '\0'; // 在dest末尾添加结束符
} else {
printf("Error: Source string has extra characters.\n");
}
}
int main() {
char str1[] = "Hello, ";
char str2[] = "World!";
// 分配足够的空间给最终的字符串
char result[strlen(str1) + strlen(str2) + 1]; // 结果字符串长度包括终止符
// 连接字符串
str_concat(result, str1);
printf("%s", result);
return 0;
}
```
在这个例子中,我们首先计算出结果字符串的大小,然后手动遍历并将`str1`中的每一个字符复制到`result`中。最后,在`main`函数里打印出连接后的字符串。
阅读全文