您的位置:首页 > 其它

《C程序设计语言》学习笔记——练习2-4

2015-07-20 11:17 323 查看
原来的squeeze函数很巧妙,基本上照着抄就可以了。但是要在处理每一个s2中的字符之后,修改s1中'\0'的位置。

/*
练习2-4 重写squeeze(s1,s2)函数,把字符串s1与字符串s2中字符匹配的各个字符都删除掉。
*/
#include <stdio.h>
#define MAX 50

void squeeze(char s1[], char s2[])
{
int i, j, index; /* j指示s1中删除多余字符后应存储下一个字符的正确位置 */
for (index = 0; s2[index] != '\0'; ++index)
{
for (i = j = 0; s1[i] != '\0'; ++i)
if (s1[i] != s2[index])
s1[j++] = s1[i];
s1[j] = '\0'; /* 修改s1正确的结束位置 */
}
}

main()
{
char s1[MAX], s2[MAX];
printf("input s1:");
scanf("%s", s1);
printf("input s2:");
scanf("%s", s2);
squeeze(s1, s2);
printf("\ns1:%s\n", s1);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: