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

原创 2016年05月31日 17:47:47

问题及代码:

/*编写函数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';
  }


版权声明:本文为博主原创文章,未经博主允许不得转载。

练习3-2 编写一个函数escape(s,t),将字符串t复制到字符串s中,并在复制过程中将换行符、制表符等不可见字符转换为\n、\t等相应的可见的转义字符序列。要求使用switch语句。

练习3-2 编写一个函数escape(s,t),将字符串t复制到字符串s中,并在复制过程中将换行符、制表符等不可见字符转换为\n、\t等相应的可见的转义字符序列。要求使用switch语句。再编写一个具...
  • taolusi
  • taolusi
  • 2016年09月14日 11:16
  • 1733

第7周 C语言程序设计(新2版) 练习1-19 颠倒字符串中的字符

问题及代码: /*将输入字符串s中的字符颠倒过来*/ #include #define MAXLINE 1000 int getline(char line[],int maxline);...

第7周 C语言程序设计(新2版) 练习1-13 打印输入单词长度的直方图(水平与垂直)

问题及代码: /*打印输入单词长度的直方图*/ #include #define MAXHIST 15 //最大直方图 #define MAXWORD 11 //单词最大长度 #define IN...

第7周 C语言程序设计(新2版) 练习1-22 在第n列将较长输入行折短

问题及代码: /*把较长的行,折成二行或多行, 位置在第n列前的最后一个非空格字符之后. 这个程序将把制表符扩展为空格,每遇到 一个换行符就把此前的输入文本打印出来, pos达到MAXCOL时折叠。*...

第7周 C语言程序设计(新2版) 练习1-18 删除空格制表符 (程序不能正确运行)

问题及代码: /*删除每个输入行末尾的空格及制表符, 并删除完全是空格的行*/ #include #define MAXLINE 1000 int getline(char line[],...

第7周 C语言程序设计(新2版) 练习2-1 确定各种类型变量的取值范围

1、确定各种类型变量的取值范围。 问题及代码: /*determine range of types 确定各种类型变量的取值范围*/ #include #include int main() { ...

第7周 C语言程序设计(新2版) 例题1.9 字符数组(打印最长输入行)

问题及代码: /*打印最长输入行*/ #include #define MAXLINE 100 int getline(char line[],int maxline); void copy(ch...

C语言程序设计——在字符串S1查找字符串S2出现次数的函数

C语言程序设计——在字符串S1查找字符串S2出现次数的函数 20 [ 标签:c语言, 程序设计, 字符串函数 ] 浪仙 2009-04-30 10:22 在字符串S1查找字符串S2出现次数的函数。 ...

第10周 C语言及程序设计提高例程-36 多维数组作函数参数

问题及代码: /*用多维数组名作函数参数*/ #include int max_value(int array[][4]); int main() { int a[3][4]={{11,...

C语言程序设计(第三版)(2-4章补充)

《C语言程序设计(第三版)》2-4章易忽略的知识点
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第10周 C语言程序设计(新2版) 练习3-2 复制字符串,不可显示符号转为可示
举报原因:
原因补充:

(最多只允许输入30个字)