替换任意长度字符串中的两个字符为指定的一个

替换任意长度字符串中的两个字符为指定的一个字符,不知道写的对不对,就没有做太多异常判断,当做个记录吧,这里可以高亮语法,方便查看一些,这里举例只使用大写字符,如果要能处理大小写使用ctype.h做个判断就好。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include<stdio.h>
#include<string.h>
#define MAX 1000
char * replace(char * result,char const * source);
int main(void)
{
char input[MAX];
char output[MAX];
printf("Enter your strings(empty line to quit!):\n");
while (fgets(input,MAX - 1,stdin) != NULL && input[0] != '\n')
{
printf("Your string: %s\n",input);
printf("Replace str: %s\n",replace(output,input));
printf("Enter your strings(empty line to quit!):\n");
}
return 0;
}
char * replace(char * result,char const * source)
{
char * temp = result;
while (*source != '\0')
{
*(result++) = *(source++);
if (*source == 'B' && *(source - 1) == 'A')
{
*(result - 1) = 'C';
source++;
}
}
*result = '\0';
return temp;
}