#include <stdio.h>
void escape(char s[],char t[]);
void unescape(char s[],char t[]);
/*
编写一个函数escape(s,t), 将字符串t复制到字符串s中,并在复制过程中将换行符,制表符等不可见字符分别转换为\n,\t等相应的可见转义字符序列。
要求使用switch语句。再编写一个具有相反功能的函数,在复制过程中将转义字符序列转换为实际字符。
思考:
字符串是一个字符数组,为此,在复制过程中需要得到单个字符,可利用数组下标得到单个元素,对下标运算可用到for语句,在其中使用switch语句即可。
可是如何完成转换并完成拼接呢,(本身思路理解为拼接,由此无法继续,以下思路参照标准答案) ,所谓复制,也就是将s字符数组中的字符替换掉,
设计工程:
1.
明确传入的两个为字符数组
2.
for(int i = j = 0; t[i] != '\0'; i++)
2-1:
switch (t[i]) {
case '\n':
s[j] = '\\';
j++;//为存入下一个元素做准备
s[j] = 'n'
j++;//为存入下一个元素做准备
break;
case '\t':
s[j++] = '\\';//j++先使用,在进行加1操作
s[j++] = 't'
break;
default:
s[j++] = t[i];
}
*/
int main(){
char s[] = "ljalj";
char t[]
编写一个函数escape(s,t), 将字符串t复制到字符串s中,并在复制过程中将换行符,制表符等不可见字符分别转换为\n,\t等相应的可见转义字符序列。
最新推荐文章于 2023-03-19 11:15:25 发布