您的位置:首页 > 编程语言 > C语言/C++

第10周 C语言程序设计(新2版) 练习3-2 复制字符串,不可显示符号转为可示

2016-05-31 17:47 351 查看
问题及代码:

/*编写函数escape(s,t),使其复制字符串从t到s,
并将不可显示换行符、制表符转为\n和\t.*/

void escape(char s[s],char t[])
{
int i,j;
for(i=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';
}

/*编写函数unescape(s,t),其与escape()具有相反功能.*/

void unescape(char s[],char t[])
{
int i,j;
for(i=j=0;t[i]!='\0';i++)
if(t[i]!='\\')
s[j++]=t[i];
else
switch(t[++i])  //这里为何用++i?
{
case 'n':
s[j++]='\n';
break;
case 't':
s[j++]='\t';
break;
default:
s[j++]='\\';
s[j++]=t[i];
break;
}
s[j++]='\0';
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: