Deerainy 2022-12-24 00:13 采纳率: 100%
浏览 20
已结题

C语言段错误报错问题

问题遇到的现象和发生背景

通过不了测试,总是说出现段错误

遇到的现象和发生背景,请写出第一个错误信息

总是说出现段错误

用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
#include <stdio.h>
int main()
{
    long long T=0,i=0,n=0,j=0,m=0,result=0,h=0;
    int a[100];
    long long sum1=1,sum2=1;
    scanf("%lld %lld",&T,&m);
    for(i=0;i<T;i++)
        scanf("%d",&a[i]);
    for(i=0;i<T;i++)
    {
        for(j=1;j<=a[i];j++)
        {
            sum1*=j;
        }
        for(h=1;h<=sum1;h++)
        {
            sum2*=h;
        }
        result=sum2%m;
        printf("%lld\n",result);
        sum1=1;
        sum2=1;
    }
    return 0;
}

运行结果及详细报错内容

img


段错误:您的程序发生段错误,可能是数组越界,堆栈溢出(比如,递归调用层数太多)等情况引起

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

扩大数组下标,但直接就连自测都过不了了

我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

能通过测评

  • 写回答

2条回答 默认 最新

  • 我系真滴菜 2022-12-24 00:56
    关注

    定义a[100]的话输入T不能≥100

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月2日
  • 已采纳回答 12月25日
  • 创建了问题 12月24日