第10周 C语言程序设计(新2版) 练习3-2 复制字符串,不可显示符号转为可示

来源:互联网 发布:矩阵的旋转变换 编辑:程序博客网 时间:2024/04/30 11:07

问题及代码:

/*编写函数escape(s,t),使其复制字符串从t到s,并将不可显示换行符、制表符转为\n和\t.*/void escape(char s[s],char t[]){  int i,j;  for(i=j=0;t[i]!='\0';i++)   {     switch(t[i])      {        case '\n':          s[j++]='\\';          s[j++]='n';          break;        case '\t':          s[j++]='\\';          s[j++]='t';          break;        default:          s[j++]=t[i];          break;       }      s[j++]='\0';    }/*编写函数unescape(s,t),其与escape()具有相反功能.*/           void unescape(char s[],char t[]){  int i,j;  for(i=j=0;t[i]!='\0';i++)      if(t[i]!='\\')        s[j++]=t[i];      else        switch(t[++i])  //这里为何用++i?         {           case 'n':             s[j++]='\n';             break;           case 't':             s[j++]='\t';             break;           default:             s[j++]='\\';             s[j++]=t[i];             break;         }     s[j++]='\0';  }


0 0