c语言程序:字符串的连接:输入两个字符串,输出连接后的字符串。要求自定义函数char*strcat(char*s,char *t),将字符串t复制到字符串s的末端 并且返回字符串s的首地址。试编写相应程序。
时间: 2024-03-06 19:47:09 浏览: 70
以下是实现该功能的C语言程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* strcat(char* s, char* t);
int main() {
char str1[100], str2[100], *result;
printf("请输入第一个字符串:");
scanf("%s", str1);
printf("请输入第二个字符串:");
scanf("%s", str2);
result = strcat(str1, str2);
printf("连接后的字符串为:%s\n", result);
return 0;
}
char* strcat(char* s, char* t) {
int len1 = strlen(s);
int len2 = strlen(t);
// 分配足够的空间来存储连接后的字符串
s = (char*)realloc(s, (len1 + len2 + 1) * sizeof(char));
// 将字符串t复制到字符串s的末端
int i;
for (i = 0; i < len2; i++) {
s[len1 + i] = t[i];
}
s[len1 + len2] = '\0'; // 在末尾添加字符串结束符
return s;
}
```
运行程序后,输入两个字符串,程序会将它们连接起来,并输出连接后的字符串。在程序中,自定义了一个函数 strcat,它接受两个字符串作为参数,将字符串 t 复制到字符串 s 的末端,并返回字符串 s 的首地址。需要注意的是,在函数内部需要使用 realloc 函数重新分配内存,以确保字符串 s 能够存储下连接后的字符串。
阅读全文
相关推荐















