将字符串s复制到字符串t时,将其中的换行符和制表符转换可见的转义符,即用“\n”表示回车符,“\t”表示制表符。
我能将制表符转换为“\t”,但是输入回车符时,就会结束输入,即回车符并没有成为字符串的一部分,怎么输入回车符呢?
4条回答 默认 最新
- CSDN专家-天际的海浪 2022-02-22 15:01关注
用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; }
通过键盘输入时,按Ctrl+Z组合键后再按回车键,就代表输入结束(也就是返回EOF)。
在UNIX/Linux/Mac OS系统中,Ctrl+D代表输入结束。图片中^Z 就是按Ctrl+Z组合键的结果
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用