2
을 내가 가지고있는 다음 코드와 내가 컴파일 갔을 때, 나는 다음있어 메시지exceptionAbort 트랩 던지는라고 종료 : 6
종료 exceptionAbort 트랩 던지는라고 : 내가 찾았 6
을 이 오류 메시지는 이해할 수 없었습니다. 이 오류 메시지의 의미와 코드 수정 방법을 알려주십시오. 여기 코드입니다 :
#include <iostream>
#include <string>
using namespace std;
int main(){
int n,r;
while(cin>>n>>r){
if(n==0&&r==0)break;
string s;
for(int i=0;i<n;i++)
s[i]='i';
for(int i=0;i<r;i++){
int p,c;
cin>>p>>c;
string left=s.substr(p-1,p+c-1);
string right=s.substr(0,p-2)+s.substr(p+c, (int)s.size());
s=left+right;
}
cout << (int)(s[0]-'0')+1 << endl;
}
return 0;
}
하는 g 컴파일 ++, 맥 OSX에서 예외가 어디에서 오는지 10.7.4이
지금이다 :
방금 'i'
의 많은 문자열을 원하는 경우에, 당신이 그것을 구성 할 때 그렇게 할 수을 시도, 루프에서 문자열에 문자를 추가하려면 디버거를 사용하는 방법을 배울 수있는 좋은 시간입니다. 디버거에서 프로그램을 실행하면 충돌의 위치를 알려주고 변수의 원인을 파악하는 데 도움이되는 변수를 검사 할 수 있습니다. 위치를 찾는 것과 관련하여 호출 스택을 검사하여 코드에서 발생한 위치를 찾아야 할 수도 있습니다. –