编写函数void fun(char *s1, char *s2, int n)将s2所指字符串的前n个字符连接到s1所指向的字符串后面。主函数输入两个字符串及n,调用函数完成连接过程,输出连接结果。
时间: 2024-02-25 19:59:23 浏览: 42
好的,下面是实现函数的代码:
```c
#include <stdio.h>
#include <string.h>
void fun(char *s1, char *s2, int n) {
int len1 = strlen(s1);
int len2 = strlen(s2);
int i;
for (i = 0; i < n && i < len2; i++) {
s1[len1 + i] = s2[i];
}
s1[len1 + i] = '\0';
}
int main() {
char s1[100], s2[100];
int n;
printf("请输入原字符串s1:");
fgets(s1, sizeof(s1), stdin);
printf("请输入要连接的字符串s2:");
fgets(s2, sizeof(s2), stdin);
printf("请输入要连接的字符个数n:");
scanf("%d", &n);
fun(s1, s2, n);
printf("连接后的字符串为:%s\n", s1);
return 0;
}
```
我们通过`strlen`函数获取字符串`s1`和`s2`的长度,然后使用一个循环将`s2`的前`n`个字符连接到`s1`的末尾,最后在`s1`的结尾添加一个空字符,使得`printf`函数能够正确输出连接后的字符串。
在主函数中,我们通过`fgets`函数分别读取原字符串`s1`和要连接的字符串`s2`,然后使用`scanf`函数读取要连接的字符个数`n`。接着,我们调用`fun`函数完成字符串的连接,最后输出连接后的字符串。
阅读全文