当前位置:  开发笔记 > 编程语言 > 正文

C程序以友好数字算法返回-1073741819

如何解决《C程序以友好数字算法返回-1073741819》经验,为你挑选了1个好方法。

我正在尝试使C程序找到小于n的友好数字.

Amicable数字是两个不同的数字,因此相关的是每个的适当除数的总和等于另一个数.

友好数字的例子(220,284); 220的适当除数是1,2,4,5,10,11,20,22,44,55和110,其中和为284; 284的适当除数是1,2,4,71和142,其中总和是220.

到现在为止,我已经计算了每个数的除数之和,并将它们放入数组中;

s [0] = 0,s [1] = 1; s [2] = 1 + 2 = 3,s [3] = 1 + 3 = 4,依此类推.

但我的程序崩溃了,调试器里什么都没有.一切都打印得很好,但毕竟返回-1073741819并且程序崩溃了.

#include 
#include 
int sumofdivizor(int nr)
{
  //nr=number,s=sum of the divisors of nr
  int i,s=0;

  for(i=1;i<=nr;i++)
  {
    if(nr%i==0)
     {
      s=s+i;
      }
      else continue;
  }

  return s;
}

int main()
{
    int *s,n,i;

    s =(int*)malloc(n*sizeof(int));
    s[0]=0;
    printf("Print a limit number\n");
    scanf("%d",&n);
    for(i=1;i

David Schwar.. 7

int *s,n,i;

s =(int*)malloc(n*sizeof(int));

您正在使用值n来决定分配多少空间.但是你还没有分配任何价值n.



1> David Schwar..:
int *s,n,i;

s =(int*)malloc(n*sizeof(int));

您正在使用值n来决定分配多少空间.但是你还没有分配任何价值n.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有