二级C语言 程序改错题

找出错误,只改 found 下一行,答案点击按钮展开

54程序改错题:求阶乘(2 处错误)

函数 fact 用循环求 n 的阶乘。请改正 found 标记处的 2 处错误。

#include <stdio.h>
long fact(int n)
{
    int i;
/**********found**********/
    long f = 0;
    for(i=1; i<=n; i++)
/**********found**********/
        f = f + i;
    return f;
}
int main()
{
    printf("%ld\n", fact(5));
    return 0;
}
参考答案
第1处: long f = 1;
第2处: f = f * i;
解析

第1处累乘初值应为 1(为 0 则恒为 0);第2处应是乘法 f*i 而非加法 f+i。fact(5) 应输出 120。

试题及答案仅供练习参考,不保证完全准确,正式考试请以NCRE官方教材及官方内容为准。

©2026 NCRE二级题库 版权所有