编写一个函数escape(s,t), 将字符串t复制到字符串s中,并在复制过程中将换行符,制表符等不可见字符分别转换为\n,\t等相应的可见转义字符序列。

#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[] 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值