数据结构中构造一个字符串,然后对其求:(1)字符串的联接(2)字符串的比较(3)字符串的长度(4)字符串的子串(5)字符串的匹配。用C语言编写一个完整代码
时间: 2024-11-07 18:07:04 浏览: 27
在C语言中,我们可以使用字符数组或者`char*`类型的指针来创建和操作字符串。下面是一个简单的示例,展示了如何完成上述任务:
```c
#include <stdio.h>
#include <string.h>
// 创建字符串函数
void createString(char* str) {
// 示例字符串
char myStr[] = "Hello, World!";
// 操作:
// (1) 字符串连接 - 使用strcpy()
char newStr[100];
strcpy(newStr, "New "); // 添加新的前缀
strcat(newStr, myStr); // 连接到原字符串
// 输出结果
printf("Concatenated string: %s\n", newStr);
// (2) 字符串比较 - 使用strcmp()
int compareResult = strcmp(myStr, "World"); // 如果相等,返回0;如果我的字符串在前面,返回负数;反之正数
if (compareResult == 0) {
printf("Strings are equal.\n");
} else {
printf("Strings are not equal.\n");
}
// (3) 字符串长度 - 使用strlen()
int length = strlen(myStr);
printf("String length: %d\n", length);
// (4) 子串提取 - 使用substring
char subStr[20];
strncpy(subStr, "World", sizeof(subStr)); // 注意不要超过数组大小
subStr[sizeof(subStr) - 1] = '\0'; // 结束字符串
printf("Substring 'World': %s\n", subStr);
// (5) 字符串匹配 - 使用strstr()查找子串
char* match = strstr(myStr, "World");
if (match != NULL) {
printf("Substring 'World' found at position: %lu\n", (unsigned long)(match - myStr));
} else {
printf("Substring 'World' not found.\n");
}
}
int main() {
createString(NULL);
return 0;
}
```
阅读全文