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

含printf的C语言for循环代码输出是什么?为何未出现预期无限循环?

这段C语言代码的输出结果

这段代码的最终输出是10,具体执行流程如下:

  • 第一步:执行for循环的初始化表达式
    先运行printf("1"),输出字符1,printf的返回值是成功输出的字符数量(这里是1),但初始化表达式仅执行一次,返回值不影响循环启动。

  • 第二步:判断循环条件表达式
    接下来计算!printf("0"):

    1. 先执行printf("0"),输出字符0,返回值为1(输出了1个字符);
    2. 对返回值取反,!1的结果是0(C语言中0表示假)。
      因为循环条件为假,所以不会进入循环体,printf("Sanchin")根本不会执行。
  • 第三步:循环后操作不会执行
    由于循环条件不成立,for循环的第三个表达式printf("2")也不会被执行。

所以整个代码执行完后,只会输出10,不会进入无限循环,也不会输出其他内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 15:12:04