我试图理解回车(\r(。所以我写了下面的代码。如果我运行下面的代码,我得到的输出是"go"。
方法1:
#include <stdio.h>
int main()
{
printf("chircargo");
return 0;
}
但是,如果我尝试使用"",那么我将获得输出"goi"。
方法2:
#include <stdio.h>
int main()
{
printf("chircargon");
return 0;
}
这有什么错误?
谁能帮我?
在这两种情况下,您都应该得到"goi"。您可以在此处进行测试。
回车实际上就是这样 - 它返回回车,即它回到行的开头。
因此,当您打印"chi\rca\rgo"时,输出将发生这种情况:
==============================
| 1. | print "chi" | chi |
==============================
| 2. | carriage return | chi |
==============================
| 3. | print "ca" | cai |
==============================
| 4. | carriage return | cai |
==============================
| 5. | print "go" | goi |
==============================
在输出末尾添加n
不会更改该行为。但是,端子通常是行缓冲的,这意味着换行符的行为类似于刷新。可能是在第一种情况下您只看到"go",因为如果没有换行符,终端还没有打印该行的所有字符。