【发布时间】:2021-11-06 02:10:52
【问题描述】:
我的Linux是Arch,我的配置如下:
Kernel: 5.13.13-arch1-1
Packages: 490 (pacman)
Shell: zsh 5.8
WM: dwm
Terminal: st
Terminal Font: Source Code Pro
当我使用C输出语句时,例如printf和putchar('A');,如果我没有在末尾添加\r或\n,我会在终端上得到一个额外的'%'字符。
$ ./a.out
A%
$
这个问题困扰了我很久,以至于不知道是谁的问题,用dwm?用嘘?用zhs?
【问题讨论】:
-
不要将代码/文本粘贴为图像
-
如果您在末尾添加
'\n',问题就消失了吗?最好在最后加上'\n'。许多 实用程序 将 line 解释为“由 并包含 换行符的一堆字符” -
请将纯文本作为(格式化)文本直接添加到您的问题中,而不是显示纯文本的控制台图片。
-
od 输出表示来自
./a.out的1字节,其八进制值为000101,即A(65),因此额外的字符不是来自您的可执行文件。跨度> -
@tstanisl:在这种情况下,终端窗口文本的图像是相关且适当的,因为着色和更改的背景传达了有关各种文本的来源或性质的信息,问题转到显示文本,而不是其内容本身。例如,
%的黑底白字与黑底白字A的对比表明%不是程序输出的。