Path: blob/master/languages/cprogs/Ex_2.4_squeezess.c
1240 views
/**1* Exercise 2.42*3* Let us write a version of squeeze(s1,s2) that deletes each4* character in the string 1 that matches any character in the string s25*6**/78#include<stdio.h>9#define MAXLINE 10001011int mgetline(char line[],int maxline);12void squeeze(char s1[],char s2[]);1314int main(void)15{16char s1[MAXLINE],s2[MAXLINE];1718putchar('s');19putchar('1');20mgetline(s1,MAXLINE);2122putchar('s');23putchar('2');24mgetline(s2,MAXLINE);2526squeeze(s1,s2);2728printf("%s",s1);2930return 0;31}3233int mgetline(char s[],int lim)34{35int i,c;3637for(i=0;i<lim-1 && (c=getchar())!=EOF && c != '\n';++i)38s[i] = c;3940if(c == '\n')41s[i++] = c;4243s[i] = '\0';44}4546void squeeze(char s1[],char s2[])47{48int i,j,k;49k=0;5051for(i=0;s1[i]!='\0';++i)52{53for(j=0; (s1[i]!=s2[j]) && s2[j]!='\0' ;++j)54;55if(s2[j]=='\0')56s1[k++] = s1[i];57}5859s1[k]='\0';60}61626364