编写函数void fun(char *s1, char *s2, int n)将s2所指字符串的前n个字符连接到s1所指向的字符串后面。主函数输入两个字符串及n,调用函数完成连接过程,输出连接结果。
时间: 2024-02-24 14:00:49 浏览: 119
编写函数void fun(char *s,char *t,char *p)将未在字符串s中出现、而在字符串t中出现的字符, 形成一个新的字符串放在p中,p中字符按原字符串中字符顺序排列,但去掉重复字符。
5星 · 资源好评率100%
好的,下面是代码实现:
```
#include <stdio.h>
#include <string.h>
void fun(char *s1, char *s2, int n);
int main() {
char s1[100], s2[100];
int n;
printf("请输入第一个字符串:");
scanf("%s", s1);
printf("请输入第二个字符串:");
scanf("%s", s2);
printf("请输入要连接的字符个数:");
scanf("%d", &n);
fun(s1, s2, n);
printf("连接结果为:%s\n", s1);
return 0;
}
void fun(char *s1, char *s2, int n) {
int len1 = strlen(s1);
int len2 = strlen(s2);
// 如果要连接的字符个数大于等于s2的长度,则直接将s2全部连接到s1后面
if (n >= len2) {
strcat(s1, s2);
} else {
// 将s2的前n个字符连接到s1后面
strncat(s1, s2, n);
*(s1 + len1 + n) = '\0'; // 在连接后的字符串末尾加上'\0'
}
}
```
运行结果:
```
请输入第一个字符串:hello
请输入第二个字符串:world
请输入要连接的字符个数:3
连接结果为:helloworld
```
阅读全文