运行时错误 - 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,但我的代码是正确的” - 显然不是。
调试的第一条规则:写道代码有问题,而你的工作就是找到它。
根据输入您的代码显然会崩溃。我会考虑调试代码,而不是声称它必须是正确的。
谢谢。让我提出更多提到的条件。 1