按下面的要求写函数定义:
函数原型:int replace (char s[], char ch, char str[], char t[])
功能说明:函数replace把字符串s中的所有字符ch置换成字符串str。
参数说明:s字符数组的起始地址(该数组存贮被置换的字符串)。
ch被置换的字符。
str字符数组的起始地址(该数组存贮置换ch的字符串)。
t字符数组的起始地址 (该数组存贮置换结果字符串)。
返回值:s中被置换字符ch的个数。
例:若字符数组str1中的字符串是“p12/p25”,则语句
n=replace(str1, 'p', "No.", str2) ;
执行完成后,n的值是2,字符数组str2中的结果字符串是“No. 12/No. 25”。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int replace (char s[],char ch,char str[],char t[]){
int ls=strlen(s),lstr=strlen(str),j=0,k=0,n=0,i;
for(i=0;i<ls;i++)
{
if(s[i]==ch){
for(j=0;j<lstr;j++){
t[k++]=str[j];
}
n++;
}else{
t[k++]=s[i];
}
}
t[k]='\0';
return n;
}
int main() {
char s[] = {"this is a test"};
char ch = 't';
char str[] = {"<leo so handsome>"};
char t[100] = {0};
int count = replace(s, ch, str, t);
printf("原字符串:%s\r\n", s);
printf("新字符串:%s\r\n", t);
printf("被替换字符数:%d\r\n", count);
return 0;
}