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

C语言编写乘法表代码首条运算输出错误其余正确,请问错误在哪?

错误原因
  • 局部变量total未初始化:C语言中未显式初始化的栈区局部变量值是不确定的内存垃圾值,第一次进入循环打印时total还没有被赋值,因此1 * n的输出结果异常。
  • 循环内执行顺序错误:当前循环内先执行打印操作,再做i自增、total计算,后续输出看起来正常是因为错位赋值刚好匹配了下一轮要打印的i值,属于逻辑巧合。
修正代码

调整循环内的执行顺序,先计算当前i对应的乘积,再打印结果,最后做i自增即可:

#include <stdio.h>
int main()
{
    int n,i = 1, total;
    
    printf("\nPlease enter multiplication table: ");
    scanf("%d", &n);
    printf("%d Times Table\n",n);

    while(i<= 12)
    {   
        total = i * n;
        printf("\n%d*%d=%d", i, n, total);
        i++;
    }
    return 0;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 20:45:08