-1
我是C++的初學者。這是我的代碼。它在代碼塊中正常工作,但是當我將它提交給codechef時,它顯示運行時錯誤(SIGSEGV
)。請幫忙!分段錯誤(SIGSEGV)
#include<iostream>
using namespace std;
int main()
{
long int n, m, x, temp, B1 = 0, B2 = 0;
long int arr[105];
cin >> n >> m;
for(int i = 1; i <= n; i++)
cin >> arr[i];
while(m--)
{
B1 = B2 = 0;
cin >> x;
temp = 1;
while(temp < x)
if((arr[x] - arr[temp]) > 0)
B1 = B1 + (arr[x] - arr[temp++]);
else
B2 = B2 + (arr[x] - arr[temp++]);
cout << B1 - B2 << endl;
}
}
爲什麼不閱讀教程,如果你是初學者? –
你沒有顯示你的輸入。如果你把一些cerr <<「temp」<< temp <<「,x」<< x <<'\ n';風格的痕跡,你可以自己工作。使用vector和at()可以讓您在有效索引之外索引時發現異常 - 在學習時更安全。 –