运行时错误 - SIGABRT无法找到错误帮助我

时间:2016-07-30 13:14:51

标签: c++ runtime-error sigabrt

问题在于给定的数字N,其数字位数在1到10 ^ 5之间。如果提供2个数字s且f小于N且s <= f。需要检查由s到f的数字形成的数字是否可被7整除。

#include <iostream>
#include <string>
using namespace std;
int main()
{
    string N; cin>>N;
    long long T; cin>>T;
    string sub="";
    long long i,s,f,val;
    while(T--){
        cin>>s>>f;
        s--; f--;
        sub = "";
        for(i=s;i<=f;i++)
                sub+=N[i];
        val = stoi(sub);
        if(val%7==0)
            cout<<"YES"<<endl;
        else
            cout<<"NO"<<endl;
    }
    return 0;
}

1 个答案:

答案 0 :(得分:0)

“sigabrt,但我的代码都是正确的” - 显然不是。

调试的第一条规则:编写的代码中存在错误,你的工作就是找到它。

根据输入,您的代码显然会崩溃。我会考虑调试代码而不是声称它必须是正确的。