有一个字符串a,内容为“Student ID 202216264853 is Lily”,另一个字符串b,内容为Wang Wen is my name”。写一个C语言函数将字符串b中的名字,替换到字符串a中的名字,并输出新的字符串a。
时间: 2024-02-17 11:04:37 浏览: 52
好的,可以使用C语言的字符串操作函数 `strcpy()` 和 `strcat()` 完成这个任务。具体步骤如下:
1. 定义两个字符串a和b,并初始化它们的值。
```c
char a[] = "Student ID 202216264853 is Lily";
char b[] = "Wang Wen is my name";
```
2. 使用 `strtok()` 函数从字符串b中分离出名字,并保存到一个新的字符串变量中。
```c
char* token = strtok(b, " ");
char name[20];
while (token != NULL) {
strcpy(name, token);
token = strtok(NULL, " ");
}
```
3. 使用 `strstr()` 函数查找字符串a中名字的位置,并使用 `strcpy()` 函数将新的名字替换旧的名字。
```c
char* pos = strstr(a, "Lily");
strcpy(pos, name);
```
4. 最后使用 `puts()` 函数输出新的字符串a。
```c
puts(a);
```
完整代码如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char a[] = "Student ID 202216264853 is Lily";
char b[] = "Wang Wen is my name";
char* token = strtok(b, " ");
char name[20];
while (token != NULL) {
strcpy(name, token);
token = strtok(NULL, " ");
}
char* pos = strstr(a, "Lily");
strcpy(pos, name);
puts(a);
return 0;
}
```
阅读全文