永发信息网

c语言怎样输出\t字符串而不是制表符

答案:2  悬赏:50  手机版
解决时间 2021-12-16 03:50
  • 提问者网友:转身→时光静好
  • 2021-12-15 13:06
#include
main()
{
int c;
i=0;j=0;
while((c=getchar())!=EOF)
{
if(c=='\t')
{
c='\\t';

putchar(c);
}else{
putchar(c);
}
}
}
最佳答案
  • 五星知识达人网友:我叫哇咔咔
  • 2021-12-15 14:09
想输出\t需要两个char来存储,也就是'\\', 't'
而你用int变量来保存两个char的内容,你说会是什么样呢
c之所以定义成int型,是因为为了获取EOF,EOF长度会超过char所能表示的范围。
你应该写成
if(c=='\t')
{
c='\\';
putchar(c);
c = 't';
putchar(c);
}
全部回答
  • 1楼网友:沵留给涐得记忆
  • 2021-12-15 14:22
给楼上做个补充: 第一个问题 为什么不输入#就运行,因为getchar()是当用户键入回车之后,getchar()才开始从stdin流中每次读入一个字符,建议楼主试试可回显的getche()和不回显的getch() 第二个问题 就是puts()的原因,它会默认换行
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯