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

问题描述:

问题是关于给定数字N与位数范围1到10^5中的位数。如果提供2个数字s和f小于N并且s < = f。需要检查s中由数字组成的数字,f可以被7整除。运行时错误 - SIGABRT无法找到该错误帮助我

#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; 
} 

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

调试的第一条规则:写道代码有问题,而你的工作就是找到它。

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

+0

谢谢。让我提出更多提到的条件。 1