Path: blob/master/languages/cprogs/Ex_3.3_expand.c
1240 views
/* expand: expand short hand notation in s1 into string s2. */12#include<stdio.h>3#define MAXLINE 10045int mgetline(char s[],int maxlimit);6void expand(char s1[],char s2[]);78int main(void)9{10char s1[MAXLINE],s2[MAXLINE];1112mgetline(s1,MAXLINE);1314expand(s1,s2);1516printf("%s",s2);1718return 0;19}2021int mgetline(char s[],int lim)22{23int i,c;2425for(i=0;i<lim-1 && (c=getchar())!=EOF && c!='\n';++i)26s[i]=c;2728if(c=='\n')29s[i++]=c;3031s[i]='\0';32}3334void expand(char s1[],char s2[])35{36int i,j,c;3738i=j=0;3940while((c=s1[i++]) != '\0')41if(s1[i]=='-' && s1[i+1] >=c)42{43i++;44while(c<s1[i])45s2[j++]=c++;46}47else48s2[j++]=c;4950s2[j]='\0';51}52535455