用 c 语言版数据结构写出完整字符串的基本算法:串复制,串连接,求串长(有 main 函数)
时间: 2024-10-14 18:08:04 浏览: 27
在 C 语言中,我们可以使用基本的数据结构如字符数组(char array)来操作字符串。以下是关于字符串复制、连接和长度计算的简单示例,包括一个 `main` 函数:
```c
#include <stdio.h>
#include <string.h>
// 定义一个函数用于字符串复制
void string_copy(char* dest, const char* src) {
int len = strlen(src);
for (int i = 0; i < len; ++i)
dest[i] = src[i];
dest[len] = '\0'; // 确保目标字符串结束符为'\0'
}
// 定义一个函数用于字符串连接
void string_concatenate(char* dest, const char* src) {
int dest_len = strlen(dest);
int src_len = strlen(src);
// 拼接时需要额外的空间存储src的结束符
if (dest_len + src_len + 1 > strlen(dest)) {
printf("Destination string is too small.\n");
return;
}
for (int i = 0; i < src_len; ++i) {
dest[dest_len + i] = src[i];
}
dest[dest_len + src_len] = '\0';
}
// 定义一个函数计算字符串长度
int string_length(const char* str) {
int length = 0;
while (str[length] != '\0') {
length++;
}
return length;
}
int main() {
char str1[] = "Hello";
char str2[] = "World!";
// 串复制示例
char copy[50];
string_copy(copy, str1);
printf("String Copy: %s\n", copy);
// 串连接示例
char concat[100];
string_concatenate(concat, str1);
string_concatenate(concat, " ");
string_concatenate(concat, str2);
printf("String Concatenation: %s\n", concat);
// 求串长示例
int str1_length = string_length(str1);
int str2_length = string_length(str2);
printf("Length of str1: %d\n", str1_length);
printf("Length of str2: %d\n", str2_length);
return 0;
}
```
上述代码首先包含了必要的头文件,然后分别定义了字符串复制、连接和长度计算的函数。在 `main` 函数中,我们创建了两个字符串并演示了如何使用这些函数。最后,展示了每个操作的结果,并打印出输入字符串的长度。
阅读全文