gpt4 book ai didi

c - "carriage return"返回不同的输出

转载 作者:太空宇宙 更新时间:2023-11-04 10:06:36 24 4
gpt4 key购买 nike

我正在尝试理解回车符 (\r)。所以我写了下面的代码。如果我运行下面的代码,我得到的输出是“go”。

方法一:

#include <stdio.h>
int main()
{

printf("chi\rca\rgo");
return 0;
}

但是如果我尝试使用“\n”,那么我得到的输出是“goi”。

方法二:

#include <stdio.h>
int main()
{
printf("chi\rca\rgo\n");
return 0;
}

这是什么错误?
谁能帮帮我?

最佳答案

在这两种情况下你都应该得到“goi”。你可以测试一下here .

回车字面意思就是 - 它返回回车,即返回到行的开头。

所以当你打印“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”,因为没有换行符,终端还没有打印出该行的所有字符。

关于c - "carriage return"返回不同的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52147938/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com