C++、C、Java中回车与换行的区别与联系

2026-02-22 19:47:24

1、 回车(Carriage Return)

意义:回到当前行的行首而不会换到下一行,若要接着输出则会使本行以前的内容会被逐覆盖

C++、C、Java中回车与换行的区别与联系

2、换行(Line Feed)

意义:换到当前位置的下一行而不一定是回到行首

1、在Unix系统中每行的结尾为“\n”

C++、C、Java中回车与换行的区别与联系

2、在Windows系统里面每行的结尾为“\r\n”

1、在Mac系统中每行的结尾为“\r”

C++、C、Java中回车与换行的区别与联系

2、故在Unix/Mac系统下的文件在Windows中打开时所有文字会变成一行

3、故Windows中的文件在Unix/Mac系统中打开时在每行的结尾可能会多出一个^M符号

1、可以按照下图的方式去体会两者的不同

C++、C、Java中回车与换行的区别与联系

1、\r 会返回到本行的行首,并把这一行以前的输出都覆盖掉

例:

int main() 

{

cout << "come on baby" << "\r" << "gone" ;

}

最后只显示 gone 而 come on baby被覆盖了,输出结果如下图

C++、C、Java中回车与换行的区别与联系

2、\n 是回车+换行 

把光标先移到行首,然后换到下一行的行首部

int main() 

{

cout << "come on baby" << "\n" << "gone" ;

}

输出:come on baby

gone

C++、C、Java中回车与换行的区别与联系

猜你喜欢