首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >转义序列在C中产生意外的输出

转义序列在C中产生意外的输出
EN

Stack Overflow用户
提问于 2013-08-07 08:43:23
回答 7查看 405关注 0票数 4

我是C编程语言的初学者,最近我研究了转义序列

代码语言:javascript
复制
\n means newline
\b means backspace
\r means carriage-return

当我把这些应用在下面的程序中时,我得到的输出是hai,谁能解释一下,怎么做?

代码语言:javascript
复制
main()
{
    printf("\nab");
    printf("\bsi");
    printf("\rha");
}
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2013-08-07 08:46:28

\r实际上是回车(它将光标移到行的开头)。

您的程序输出一个新行(\n),后面是"ab“,然后是backspace (\b) ( b) "si",所以现在屏幕上有"asi”。

\r将光标移至行首,然后输出"ha“,在屏幕上留下"hai”。

票数 13
EN

Stack Overflow用户

发布于 2013-08-07 08:47:20

第一个指令将在ab新行 (\n)上打印:

代码语言:javascript
复制
>ab

第二个指令将在打印backspace (\b)之前生成si

代码语言:javascript
复制
>asi

然后,最后一个将在打印 (\r)之前进行ha

代码语言:javascript
复制
>hai
票数 5
EN

Stack Overflow用户

发布于 2013-08-07 08:46:54

首先printf将打印ab,然后\b将生成退格并打印si,因此您的最后打印将成为asi

现在,\r将在开始时移动光标,并打印ha,它将替换前两个字符,并将最终字符串设置为hai(ha从最后一条语句开始,i从前面的结果)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18098684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档