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

来源:互联网 发布:python 结巴分词 编辑:程序博客网 时间:2024/03/29 02:00

C语言程序设计(第二版) 练习3-2 个人设计

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

代码块

#include <stdio.h>void escape(char s[], char t[]);main(){    char a[] = "How        are you";    char b[20];    escape(b, a);    printf("%s", b);    printf("\n");    return 0;}void escape(char s[], char t[]){    int i, k;    i = k = 0;    while((s[k] = t[i]) != '\0'){        switch(t[i]){        case '\t':            s[k] = '\\';            s[++k] = 't';            break;        case '\n':            s[k] = '\\';            s[++k] = 'n';            break;        default:            s[k] = t[i];            break;        }        ++i;        ++k;    }}

同时编写一个相反功能的函数,这里只更改函数代码。

void escape(char s[], char t[]){    int i, k;    i = k = 0;    while((s[k] = t[i]) != '\0'){        switch(t[i]){        case '\\t':            s[k] = '\t';            break;        case '\\n':            s[k] = '\n';            break;        default:            s[k] = t[i];            break;        }        ++i;        ++k;    }}

如果程序设计有错误或更简洁的方法,欢迎并感谢您指正出示,谢谢!

阅读全文
0 0