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

C语言打印字母三角形printTriangle函数运行异常求助

代码问题排查与修复
  • 格式符使用错误:你用%s输出单个char类型字符,%s对应的参数应为字符串首地址,直接传ch[j]会把字符值当成内存地址访问,触发未定义行为,需要更换为%c格式符。
  • 三角形逻辑错误:当前内层循环固定遍历size次,所有字符会输出为矩形而非逐行递增的三角形,第i行(从0开始计数)仅需输出i+1个字符即可。
  • 缺失换行逻辑:每行字符输出完成后没有添加换行操作,所有内容会挤在同一行显示。
修复后的printTriangle函数代码
void printTriangle(int size, char ch[5])
{
    int i,j;
    // 外层循环控制行数,共size行
    for(i=0;i<size;i++)
    {
        // 内层循环控制每行字符数,第i行输出i+1个字符
        for(j=0;j <= i;j++)
        {
            if(j <= 4)
            {
                // 单个字符使用%c格式符输出
                printf("%c ",ch[j]);
            }
            else
            {
                printf("# ");
            }
        }
        // 每行输出完成后换行
        printf("\n");
    }
}

修改后输入对应size即可得到前5位为a/e/i/o/u、超出部分补#的直角三角形输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 03:15:07