c语言中字符串的拼接且不使用strcat函数
时间: 2024-05-04 11:18:16 浏览: 149
在C语言中,可以使用字符数组和指针来实现字符串的拼接。以下是一个示例代码:
```c
#include <stdio.h>
int main() {
char str1[20] = "Hello, ";
char str2[20] = "world!";
char result[40];
int i, j;
// 将str1拷贝到result中
for (i = 0; str1[i] != '\0'; i++) {
result[i] = str1[i];
}
// 将str2拷贝到result中
for (j = 0; str2[j] != '\0'; j++) {
result[i + j] = str2[j];
}
result[i + j] = '\0'; // 添加字符串结束符
printf("%s\n", result);
return 0;
}
```
此代码中,我们定义了三个字符数组 `str1`、`str2` 和 `result`,其中 `str1` 和 `str2` 分别存储了要拼接的两个字符串,`result` 存储了拼接后的结果。我们使用 `for` 循环将 `str1` 和 `str2` 中的字符依次拷贝到 `result` 中,并在最后添加字符串结束符 `\0`。最终,我们使用 `printf` 函数输出结果。
相关问题
c语言实现字符串拼接
在C语言中,可以使用字符串拼接函数`strcat`来实现字符串的拼接。`strcat`函数定义在`string.h`头文件中,它的原型如下:
```c
char *strcat(char *dest, const char *src);
```
其中,`dest`是目标字符串,`src`是要拼接的源字符串。`strcat`函数会将源字符串拼接到目标字符串的末尾,并返回拼接后的目标字符串。
下面是一个示例代码,演示了如何使用`strcat`函数实现字符串拼接:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[20] = "Hello";
char str2[] = " World!";
strcat(str1, str2);
printf("拼接后的字符串为:%s\n", str1);
return 0;
}
```
运行以上代码,输出结果为:
```
拼接后的字符串为:Hello World!
```
C语言指针字符串拼接
在C语言中,可以使用指针来进行字符串拼接。下面是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[20] = "Hello";
char str2[] = "World";
char *result;
result = strcat(str1, str2);
printf("拼接后的字符串为: %s\n", result);
return 0;
}
```
在上述代码中,我们声明了一个字符数组 `str1`,并初始化为 `"Hello"`,另外一个字符串 `str2` 初始化为 `"World"`。然后,我们声明了一个指针 `result`,用于存储拼接后的字符串。
使用 `strcat` 函数将 `str2` 拼接到 `str1` 后面,并将结果赋值给 `result`。最后,通过 `printf` 函数打印出拼接后的字符串。
请注意,在进行字符串拼接之前,要确保 `str1` 数组有足够的空间来存储拼接后的结果。如果空间不够,可能导致溢出错误。另外,拼接后的结果会修改 `str1` 的内容。
希望这个示例能够帮助你理解如何在C语言中使用指针进行字符串拼接。如果还有其他问题,请随时提问。
阅读全文