Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在循环中使用模数会导致分段错误(堆芯倾倒)_C++ - Fatal编程技术网

C++ 在循环中使用模数会导致分段错误(堆芯倾倒)

C++ 在循环中使用模数会导致分段错误(堆芯倾倒),c++,C++,我正在写一个程序来求一个数的因子 我的逻辑是:如果((数字%i)==0)那么我们有一个因子。但是,如果您删除了附加的代码,它将编译无误,但会使程序中途崩溃 如果用其他任何东西替换模运算符,程序运行正常。那么我做错了什么 #include <iostream> #include <vector> using namespace std; int main() { int number; vector<int> factors; cou

我正在写一个程序来求一个数的因子

我的逻辑是:
如果((数字%i)==0)
那么我们有一个因子。但是,如果您删除了附加的代码,它将编译无误,但会使程序中途崩溃

如果用其他任何东西替换模运算符,程序运行正常。那么我做错了什么

#include <iostream>
#include <vector>
using namespace std;

int main()
{
    int number;
    vector<int> factors; 
    cout << "enter a number: ";
    cin >> number;

    for (int i = 0; i < number; i++)
    {
        if ((number % i) == 0)
        {
            factors.push_back(i);
        }
    }

    // display results
    cout << "factors are: ";
    for (int i = 0; i < factors.size(); i++)
    {
        if (i < (factors.size()-1)) cout << factors[i] << ", ";
        if (i == (factors.size()-1)) cout << factors[i];
    }


    return 0;
}
#包括
#包括
使用名称空间std;
int main()
{
整数;
矢量因子;
数量;
for(int i=0;icout在第一次循环迭代中(当i为0时),您正在除以0


让我从1开始。

谢谢。:p这是一个随着时间的推移你会无数次遇到的问题。在某个时候,你会对它有一种洞察力。