【问题标题】:behaviour of escape characters转义字符的行为
【发布时间】:2010-10-21 09:19:53
【问题描述】:
#include <stdio.h>
main()
{

   printf("az\b\b");

   printf("s\ni");

}

上面的程序用 gcc 编译时会给出输出

sz 一世

谁能帮我们理解输出

【问题讨论】:

  • 下次请使用编辑器窗口上方的101010按钮格式化代码,使用编辑器页面的预览功能检查您的格式,并阅读编辑器窗口右侧的编辑提示.你是程序员。学会关注细节。
  • 这不依赖于C语言,更多依赖于操作系统或其他环境。

标签: c console special-characters


【解决方案1】:

这是因为您的控制台将'\b' 解释为退格字符。

【讨论】:

  • 但是为什么在s之后打印z。
  • 你能用你的推理解释答案吗?
  • @santosh:你的程序打印az,然后将光标向后移动两次(现在它回到了行首),在a曾经的位置写入s,转到下一行的开头,并打印iz 永远不会被覆盖,因为您的程序没有这样做。我不知道还能告诉你什么。如果您无法在脑海中遵循该算法,则可以使用具有覆盖模式的编辑器并手动执行此操作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-01
  • 2012-12-14
  • 1970-01-01
  • 2013-01-29
  • 1970-01-01
  • 1970-01-01
  • 2013-08-29
相关资源
最近更新 更多