分段错误在c中求解大数的加法

时间:2018-05-20 15:12:57

标签: c segmentation-fault

今天我开始关注黑客排名。问题如下:

计算并打印数组中元素的总和,请记住其中一些整数可能非常大。 输入格式 输入的第一行由整数

组成

。 下一行包含

数组中包含的以空格分隔的整数。 输出格式 打印数组中元素的整数和。 约束

示例输入

script(type="application/ld+json").
  {
    "@context": "http://schema.org",
    "@id": "#{site.home}/#organization",
    "@type": "Organization",
    "name": "#{company.name}",
    "description": "#{company.businessDescription}"
  }

注意:当我们添加几个整数值时,结果总和可能会超出上述范围。您可能需要在C / C ++中使用long long int或在Java中使用long数据类型来存储此类总和。

我给出的答案是

5
1000000001 1000000002 1000000003 1000000004 1000000005
Output 
5000000015

但是编译器消息是“Segmentation fault”

2 个答案:

答案 0 :(得分:1)

这是一个有趣的陈述顺序:

int n ;
int arr1[n];
long long int arrcount ;
scanf("%d" , n);

如果您使用n在第二行设置数组大小,但仅在第四行提供 n的值,那么您有什么价值?认为是用于数组的大小?

答案 1 :(得分:0)

看看你的for循环。如果数组为零索引,那么数组的最后一个元素是什么?

从您提供的代码中,当n = 5时,您将从0-5开始迭代i。您在阅读了多少元素以及您在总数中添加了多少元素?