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

打印二维数组单个元素时为何出现多余%符号?

问题原因和解决办法
  • 先看你写的代码:printf("%d" , marks [0][0];,这行存在语法错误——末尾缺少闭合的右括号),正确写法应该是printf("%d", marks[0][0]);。

  • 输出里的多余%,大概率是两种情况:

    • 终端提示符干扰:要是你在Linux/macOS这类系统的shell里运行程序,程序输出90后没有换行,shell的默认提示符(很多是%)会直接紧跟在输出内容后面,看起来就成了90%。给printf的格式字符串加个换行符,改成printf("%d\n", marks[0][0]);,就能把程序输出和终端提示符彻底分开。
    • 语法错误引发的未定义行为:因为代码少了右括号,宽松的编译器可能生成不符合预期的机器码,导致printf调用逻辑混乱——比如读错栈中数据、格式解析异常,最终多输出了%。这种情况只要补上缺失的右括号,修复语法错误就能解决问题。
  • 建议先修正代码的括号问题再运行,要是还有%,就给printf加个换行符,基本就能解决异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 05:37:05