You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C语言中使用printf()时移除输出末尾多余的"%"符号

这个特殊显示的%不是你的C程序输出的内容,是zsh、fish等现代shell的默认行为:当程序输出的内容末尾没有换行符时,shell为了避免提示符和程序输出挤在同一行难以区分,会主动在程序输出末尾追加一个反显的%标识,再把shell提示符换到下一行显示。

解决方法

  • 最通用也最符合编程规范的方案,是在printf输出的字符串末尾加上换行符\n,修改后代码如下:
#include <stdio.h>

int main(){
  printf("hello world\n");
}

修改后程序输出会自带换行,shell的提示符会正常显示在输出内容的下一行,不会再出现额外的%。

  • 如果你确实有业务需求不能输出末尾的换行,也可以修改对应shell的配置关闭该提示标识,但该方案需要适配运行环境,不推荐常规场景使用。

内容的提问来源于stack exchange,提问作者ecjb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 23:15:03