C程序设计语言 chapter 3 控制流

练习3-2 
/*练习3-2 编写一个函数escape(s,t),将字符串t复制到字符串s中,并在复制过程中将行符、制表符等不可见
字符转换为\n、\t等相应的可见的转义字符序列。要求使用switch语句。再编写一个具有相反功能的函数*/
#include <stdio.h>

#define MAXLENGTH 100

int escape(char *s,char *t);
int unescape(char *s,char *t);

int main(){
	char s[MAXLENGTH];
	char t[MAXLENGTH]="st	jddjd	jdjdj"; 
	char u[MAXLENGTH];
	escape(s,t);
	printf("%s\n",s);
	unescape(u,s);
	printf("%s\n",u);
}

int escape(char *s,char *t){
	int i=0;
	int j=0;
	while (t[i]!='\0')
	{
		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;
		}
		i++;
	}
				s[j]='\0';
	return 0;
}

int unescape(char *s,char *t){
	int i=0;
	int j=0;
	while (t[i]!='\0')
	{
		switch (t[i])
		{
		case '\\':
			if(t[i++]=='n')  {
			s[j++]='\n'; 
			break;
			}

			if(t[i++]=='t') {
				s[j++]='\t';
				break;
			}
		default:
			s[j++]=t[i++];
			break;
		}
	}
	s[j]='\0';
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值