《C程序设计语言》学习笔记——练习3-2

来源:互联网 发布:亚马逊数据 编辑:程序博客网 时间:2024/05/27 03:25
/* 练习3-2 (只写了\n和\t)编写函数escape(s,t),将字符串t拷贝到字符串s中,并在拷贝过程中将诸如换行符与制表符等等字符转换成诸如\n与\t等换码序列。使用switch语句。再编写一个具有相反功能的函数,在拷贝过程中将换码序列转换成实际字符。*/#include <stdio.h>void escape(char *s, char *t){int i, j;for (i = 0, 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';}}void unescape(char *t, char *s){int i, j;for (i = 0, j = 0; s[i] != '\0'; i++){if(s[i] == '\\'){switch(s[i+1]){case 't':t[j++] = '\t';i++;break;case 'n':t[j++] = '\n';i++;break;default:t[j++] = s[i];}}elset[j++] = s[i];}}main() {char s[20], t[20] = "Can\t you?\n";escape(s, t);printf("转换前:%s\n", t);printf("转换后:%s\n", s);unescape(t, s);printf("转换回:%s\n", t);return 0;}

0 0
原创粉丝点击