c语言输入两行字符串(长度不同),将短的字符串的内容覆盖到长的字符串内,从长字符串的末尾开始覆盖,输出覆盖后的字符串。 例如:s1 = abcdefg,s2 = qwe, 则将 s2 覆盖到 s1 末尾中,即替换 s1 中的 efg, s1 变为 abcdqwe。
时间: 2024-12-25 11:26:34 浏览: 16
在 C 语言中,你可以使用数组和指针来完成这个操作。首先,你需要确定两个字符串的结束位置,然后从第二个字符串(较短的那个)的末尾开始,逐字符复制到第一个字符串(较长的那个)的对应位置。以下是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
void string_overwrite(char *long_str, char *short_str) {
int long_len = strlen(long_str);
int short_len = strlen(short_str);
// 遍历短字符串并将其内容复制到长字符串的末尾
for (int i = 0; i < short_len; i++) {
long_str[long_len - short_len + i] = short_str[i];
}
}
int main() {
char s1[] = "abcdefg";
char s2[] = "qwe";
printf("Before overwrite: %s\n", s1);
string_overwrite(s1, s2);
printf("After overwrite: %s\n", s1);
return 0;
}
```
当你运行此程序时,它会输出:
```
Before overwrite: abcdefg
After overwrite: abcdqwe
```
阅读全文