关于一道C语言的填空题目
关于一道C语言的填空题目16.下列程序中函数find_replace的功能是:在s1指向的字符串中查找s2指向的字符串,并用s3指向的字符串替换在s1中找到的所有s2字符...
关于一道C语言的填空题目
16.下列程序中函数find_replace的功能是:在s1指向的字符串中查找s2指向的字符串,并用s3指向
的字符串替换在s1中找到的所有s2字符串。若sl字符串中没有出现s2字符串,则不做替换并使
函数返回0,否则函数返回1。试完善程序以达到要求的功能。
#include
#include
int find_replace(char s1[],char s2[],char s3[])
{ int i,j,k,t=0; char temp[80];
if(s1[0]=='\0'||s2[0]=='\0')return t;
for(i=0;s1!='\0';i++)
{ k=0; j=i;
while(s1[j]==s2[k]&&s2[k]!='\0')
{ j++;
___(23)_________
}
if(s2[k]=='\0')
{ strcpy(temp,&s1[j]);
___________(24)________;
i=i+strlen(s3);
_______(25)_________;
t=1;
}
}
return t;
}
void main()
{char line[80]="This is a test program and a test data.";
char substr1[10]="test",substr2[10]="actual";
int k;
k=find_replace(line,substr1,substr2);
if(______(26)_______)
puts(line);
else
printf("not found\n");
}
答案和解释 展开
16.下列程序中函数find_replace的功能是:在s1指向的字符串中查找s2指向的字符串,并用s3指向
的字符串替换在s1中找到的所有s2字符串。若sl字符串中没有出现s2字符串,则不做替换并使
函数返回0,否则函数返回1。试完善程序以达到要求的功能。
#include
#include
int find_replace(char s1[],char s2[],char s3[])
{ int i,j,k,t=0; char temp[80];
if(s1[0]=='\0'||s2[0]=='\0')return t;
for(i=0;s1!='\0';i++)
{ k=0; j=i;
while(s1[j]==s2[k]&&s2[k]!='\0')
{ j++;
___(23)_________
}
if(s2[k]=='\0')
{ strcpy(temp,&s1[j]);
___________(24)________;
i=i+strlen(s3);
_______(25)_________;
t=1;
}
}
return t;
}
void main()
{char line[80]="This is a test program and a test data.";
char substr1[10]="test",substr2[10]="actual";
int k;
k=find_replace(line,substr1,substr2);
if(______(26)_______)
puts(line);
else
printf("not found\n");
}
答案和解释 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询