编写程序实现两个字符串的连接。如字符串a=”abc”,字符串b=”def”,连接后字符串的结果是“abcdef”。用c语言表示
时间: 2024-12-20 07:29:07 浏览: 4
字符串的定义-Pascal语言
在C语言中,你可以通过数组或者动态内存分配来实现两个字符串的连接。这里我们展示一种使用字符数组直接拼接的方式:
```c
#include <stdio.h>
#include <string.h> // 引入处理字符串的头文件
void string_concat(char* str1, char* str2) {
int len1 = strlen(str1); // 获取str1的长度
int len2 = strlen(str2); // 获取str2的长度
char result[len1 + len2 + 1]; // 新建一个足够大的数组来存放结果,加1是因为需要一个空间来放结束符'\0'
// 将str1复制到result
for (int i = 0; i < len1; i++) {
result[i] = str1[i];
}
// 添加str2到result的末尾,并不需要额外拷贝,因为已经覆盖了'\0'
result[len1] = '\0'; // 结束str1的复制,插入'\0'
result[len1+1] = str2[0]; // 开始复制str2
for (int i = 1; i < len2; i++) {
result[len1 + i] = str2[i];
}
result[len1 + len2] = '\0'; // 结束str2的复制,添加'\0'作为最终结束标志
}
int main() {
char a[] = "abc";
char b[] = "def";
string_concat(a, b);
printf("连接后的字符串是:%s\n", result); // 假设result在这里是全局变量或者函数返回值
return 0;
}
```
注意:`result`在这个例子中应该是全局变量或者函数内部的一个临时存储区域,这里为了简洁只做演示,并未完全定义。实际编写时需要考虑内存管理。
阅读全文