相关疑难解决方法(0)

当 `if (variable % 2 == 0)` 时程序崩溃

我正在编写一个可以找到完美数字的程序。阅读完这些完美数后,我发现了它们的列表:完美数列表。目前的输出是:

28         // perfect
496        // perfect
8128       // perfect
130816     // not perfect
2096128    // not perfect
33550336   // perfect
Run Code Online (Sandbox Code Playgroud)

我决定创建数组并将其与数字一起放置,将数字完全分开(没有其余部分)。因此,我将能够通过添加数组的所有元素来验证它是否是一个完美的数字。但应用程序崩溃了,我不明白为什么:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    unsigned long number;
    unsigned long arr2[100] = {0};
    int k = 0;

    for ( number = 0; number <= 130816; number++ )
        if ( 130816 % number == 0 )
            arr2[k++] = number;

    for ( k = 0; k < 100; k++ ) …
Run Code Online (Sandbox Code Playgroud)

c crash modulo undefined-behavior perfect-numbers

1
推荐指数
1
解决办法
1128
查看次数

标签 统计

c ×1

crash ×1

modulo ×1

perfect-numbers ×1

undefined-behavior ×1