x850024928 发表于 2019-12-28 18:55:50

菜鸟的疑惑,感谢大家解答一下

#include <stdio.h>

int main()
{
      printf("Hello world\b\b\b\b\bFishC\n");
      return 0;
}
这个运行之后为啥不是HelloworldFishC,而是HelloFishC。
\b是空格的意思,为啥运行之后world没了。

图南居士 发表于 2019-12-28 20:13:18

兄弟 \b是退格符!!!
不是你所说的空格

x850024928 发表于 2019-12-28 20:20:12

图南居士 发表于 2019-12-28 20:13
兄弟 \b是退格符!!!
不是你所说的空格

哦哦,就是退格的话,那也得显示world啊

zltzlt 发表于 2019-12-28 20:30:53

\b 是退格符,相当于在键盘上按一次 Backspace。5 个 \b 就相当于按 5 次 Backspace,所以 world 会被删除,取而代之的是 FishC。

图南居士 发表于 2019-12-28 20:30:55

你先试试去掉一个退格符会发生啥
这东西得自己慢慢试直接告你没用

图南居士 发表于 2019-12-28 20:32:55

对了

x850024928 发表于 2019-12-29 09:14:50

图南居士 发表于 2019-12-28 20:30
你先试试去掉一个退格符会发生啥
这东西得自己慢慢试直接告你没用

哦哦

jackz007 发表于 2019-12-29 13:29:41

本帖最后由 jackz007 于 2019-12-29 13:32 编辑

zltzlt 发表于 2019-12-28 20:30
\b 是退格符,相当于在键盘上按一次 Backspace。5 个 \b 就相当于按 5 次 Backspace,所以 world 会被删除 ...

      退格符本身并不会删除字符,只是把光标倒退 1 个字符,下次显示的字符自然会把原来这个位置上的字符覆盖掉。
      要想实现 Backspace 键删除一个西文字符的效果,得用下面的代码:
print('\b \b' , end='')
页: [1]
查看完整版本: 菜鸟的疑惑,感谢大家解答一下