c语言:实现字符串处理函数,将任意输入的两个字符串拼接,并且做反转处理,比如输入参数1为:“Hello”、参数2为World”,返回值为“dlroWolleH ”。要求:不能使用库函数。
时间: 2024-02-19 15:59:23 浏览: 114
C语言基础练习题:素数判定与字符串反转实现
可以使用C语言中的指针和循环来实现字符串处理函数,下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
void reverse_str(char *str) {
int len = strlen(str);
char temp;
for (int i = 0; i < len / 2; i++) {
temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
char* concat_and_reverse(char *str1, char *str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
char *result = (char*)malloc(len1 + len2 + 1); // 分配内存空间存储结果
strcpy(result, str1);
strcat(result, str2); // 拼接字符串
reverse_str(result); // 反转字符串
return result;
}
int main() {
char str1[100], str2[100];
printf("请输入两个字符串:\n");
scanf("%s%s", str1, str2);
char *result = concat_and_reverse(str1, str2);
printf("拼接并反转后的字符串为:%s\n", result);
free(result); // 释放内存空间
return 0;
}
```
在上面的代码中,`reverse_str` 函数实现了字符串反转,`concat_and_reverse` 函数实现了字符串的拼接和反转,并且使用了动态内存分配来存储结果字符串。在 `main` 函数中,首先输入两个字符串,然后调用 `concat_and_reverse` 函数得到拼接并反转后的字符串,最后输出结果并释放内存空间。
阅读全文