将字符串s复制到字符串t时,将其中的换行符和制表符转换可见的转义符,即用“\n”表示回车符,“\t”表示制表符。
我能将制表符转换为“\t”,但是输入回车符时,就会结束输入,即回车符并没有成为字符串的一部分,怎么输入回车符呢?
用getwchar()一个字符一个字符的读取,直到等于EOF结束
你题目的解答代码如下:
#include<stdio.h>
int main()
{
int i=0;
char s[100],c;
while ((c=getchar())!=EOF)
{
if (c=='\n')
{
s[i++] = '\\';
s[i++] = 'n';
}
else if (c=='\t')
{
s[i++] = '\\';
s[i++] = 't';
}
else
{
s[i++] = c;
}
}
s[i] = '\0';
printf("%s\n", s);
return 0;
}
图片中^Z 就是按Ctrl+Z组合键的结果
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
你可以用getchar读入输入,并用EOF作为输入结束的判定
在windows中,EOF通过crtl+Z
输入
Linux:
Ctrl+D
Windows:
Enter,Ctrl+Z,Enter