C中的回车?

mr_*_*air 28 c

以下程序的输出是: hai

我没有得到\r这个程序中的回车如何工作,真的可以帮助我吗?

#include <stdio.h>
#include<conio.h>

void main()
{
    printf("\nab");
    printf("\bsi");
    printf("\rha");
    _getch();
}
Run Code Online (Sandbox Code Playgroud)

ice*_*ime 68

从5.2.2/2(字符显示语义):

\b(退格键)将活动位置移动到当前行的上一个位置.如果活动位置在线的初始位置,则不指定显示设备的行为.

\n(新行)将活动位置移动到下一行的初始位置.

\r(回车)将活动位置移动到当前行的初始位置.

在这里,您的代码生成:

  • <new_line>ab
  • \b :回一个角色
  • si:覆盖bwith s(asi在第二行生成)
  • \r :回到当前行的开头
  • ha:覆盖前两个字符(hai在第二行产生)

最后,输出是:

\nhai
Run Code Online (Sandbox Code Playgroud)


0xH*_*nry 12

程序打印ab,返回一个字符并打印si覆盖b结果asi.回车符将插入符号返回到当前行的第一列.这意味着ha将打印as出结果,结果是hai


Cli*_*ord 5

一步步:

[换行符] AB

ab
Run Code Online (Sandbox Code Playgroud)

[退格] SI

asi
Run Code Online (Sandbox Code Playgroud)

[回车]公顷

hai
Run Code Online (Sandbox Code Playgroud)

回车,不会造成换行.在某些情况下,单个CR或LF可以转换为CR-LF对.这是依赖于控制台和/或流的.