填空题 从字符串s1中删除字符串s2所包含的字符。例如:s1为"helloword",s2为"eo",程序执行后,s1变为"hllwrd"。
#include<stdio.h>
int main()
{
char s1[81]="helloword", se[81]="eo";
char*p1=s1, *p2, *p3;
1;
while(*p1)
{
p2=s2;
while(*p2&&( 2))
p2++;
if(*p2=="/0")
*p3++=*p1;
p1++;
}
3;
printf("%s/n", s1);
return 0;
}
【正确答案】
【答案解析】p3=p1 *p1!=*p2 *p3=0[解析] 依次取出s1中的各字符,判断它是否与s2中的任一字符相同,若相同则将其删除。可使用指针p3指向结果字符串,起始p3指向s1,若从s1中取出的字符不出现在s2中,则将其追加到p3,否则,将其丢弃,最后再在其末尾加上结束符。根据此思路,可得第一空、第三空的答案;内循环中显然是要判断当前p1所指的字符是否出现在s2中,因此可得第二空的答案。