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

技术问询:printf("C programming %s","is %s for health","good");能否输出指定内容

你的printf写法达不到预期效果哦

首先得给你纠正一个误解:C语言里的printf可不是这么工作的,它不会自动嵌套替换参数里的格式符。咱们来拆解你的代码:

printf("C programming %s","is %s for health","good");
  • 第一个参数是格式控制字符串,里面只有1个%s占位符;
  • 后面的参数是用来填充这些占位符的,数量需要和占位符对应(如果参数多了,多余的会被直接忽略)。

所以这段代码的实际执行逻辑是:用第二个参数"is %s for health"去替换格式字符串里的那个%s,第三个参数"good"根本不会被处理。最终输出会是:

C programming is %s for health

如果想要得到C programming is good for health,有几种更直接的正确写法:

  • 直接输出完整字符串:
    printf("C programming is good for health");
    
  • 用两个%s占位符对应两个参数:
    printf("C programming %s %s for health", "is", "good");
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:16:20