使用C在终端的printf输出中获得一个奇怪的百分号

rou*_*nak 35 c printf zsh

printf在程序结束时发表了这样的声明:

printf("%d", total_candies);
Run Code Online (Sandbox Code Playgroud)

total_candies是一个int,虽然我希望一切正常,但实际数字,我最终得到一个奇怪的百分号. 在此输入图像描述

谁能告诉我为什么会这样?

Kev*_*vin 66

当程序的(非空)输出不包含尾随换行符时,zsh会添加颜色反转%以指示并在打印提示符之前移动到下一行; 它通常比bash的行为更方便,只需启动输出结束的命令提示符.

  • 谢谢我不知道zsh的这种行为.现在我考虑一下,它确实比bash的行为更有用. (7认同)

M.E*_*.Ed 5

运行PROMPT_EOL_MARK=''命令行可以解决这个问题。