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

C语言逆半金字塔打印代码运行机制及内层循环执行逻辑(新手疑问)

逆半金字塔代码内层循环运行详解

先把你提供的打印逆半金字塔的完整代码贴在这里:

#include<stdio.h>
int main() {
    int i, j, rows;
    printf("Enter number of rows: ");
    scanf("%d", &rows);
    for (i=rows; i>=1; --i) {
        for (j=1; j<=i; ++j) {
            printf("* ");
        }
        printf("\n");
    }
    return 0;
}

当输入rows=5、外层循环第一次迭代(i=5)时,内层循环的运行流程是这样的:

  • 第一步:内层循环初始化j=1,判断条件j<=5——结果为真,执行printf("* "),输出第一个* 。
  • 第二步:j执行自增操作(++j),变成2,再次判断j<=5——依然为真,输出第二个* 。
  • 第三步:j自增为3,条件j<=5成立,输出第三个* 。
  • 第四步:j自增为4,条件成立,输出第四个* 。
  • 第五步:j自增为5,条件成立,输出第五个* 。
  • 第六步:j继续自增为6,此时判断j<=5——结果为假,内层循环直接终止。
  • 最后回到外层循环,执行printf("\n"),完成换行,准备进入外层循环的下一次迭代(i=4)。

简单说,这次内层循环会连续输出5个* ,然后换行,对应逆半金字塔的第一行(最宽的那一行)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 21:57:29