首页 > 试题广场 >

为了使该函数正确、完整,请写出函数的空白处(方框内)应该填入

[问答题]

下列函数的功能是用字符串str2替换字符串olds中所有出现的子串str1,olds串中的其他字符不变,并且将形成的新字符串存放在news中。

例如;若olds=“123ab123x”,str1=“123”,str2=“45”,则news=“45ab45x”。

为了使该函数正确、完整,请写出函数的空白处(方框内)应该填入的内容。

void test(char *olds,char *str1,char *str2,char *news) {
    char *p,*q;
    while(*olds!='\0') {
        for(p=olds,q=str1;*p!='\0'&&*q!='\0'&&*q==*p;p++,q++);
        if (*q!='\0') {
            *news++=*olds++;
        } else {
            for (q=str2;*q!='\0';q++) {
                *news++=*q;
            }
            olds=p;
        }
    }
    *news='\0';
}
发表于 2017-12-02 19:09:37 回复(1)