用c语言编写程序,将一个字符串拷贝到另一个字符串中,拷贝过程将空格替换成“%20”。例如,当字符串为An Hui University,则经过拷贝替换之后的字符串为An%20Hui%20University。
时间: 2023-11-22 17:53:59 浏览: 40
可以使用C语言中的指针和循环来实现字符串的拷贝和替换。具体实现如下:
```c
#include <stdio.h>
#include <string.h>
void replace_space(char *str) {
int len = strlen(str);
int space_count = 0;
// 计算需要替换的空格数
for (int i = 0; i < len; i++) {
if (str[i] == ' ') {
space_count++;
}
}
// 计算替换后的字符串长度
int new_len = len + space_count * 2;
// 从后往前遍历,进行替换
for (int i = len - 1, j = new_len - 1; i >= 0; i--, j--) {
if (str[i] == ' ') {
str[j] = '0';
str[j-1] = '2';
str[j-2] = '%';
j -= 2;
} else {
str[j] = str[i];
}
}
}
int main() {
char str1[] = "An Hui University";
char str2[100];
// 将str1拷贝到str2,并进行空格替换
strcpy(str2, str1);
replace_space(str2);
printf("before: %s\n", str1);
printf("after: %s\n", str2);
return 0;
}
```
输出结果为:
```
before: An Hui University
after: An%20Hui%20University
```