이 코드는 codeblocks에서 잘 실행을 제공하지만, 제공하는 이유 아래의 코드를 통해 이동이 error.Thank에 대한 해결책을 알려주세요 당신.C++ 분할 오류 :이 프로그램은 codechef의 컴파일러 런타임 (SIGSEGV) 오류를 런타임 오류 (SIGSEGV)
#include<iostream>
using namespace std;
int main(){
int t;
long n;
cin>>t;
while(t--){
cin>>n;
int i=2,m=0,j=0,a[n/2];
while(i<=n/2){
if(n%i==0){
n=n/i;
a [ j++ ] = i;
m++;
i = 2;
}
else i++;
a[j] = n;
}
cout << m+1 << endl;
for(int i=0;i<=m;i++)
cout << a[i] << endl;
}
return 0;
}
디버깅을 한 적이 있습니까? Segfault가 원인이 무엇인지 찾아 보셨습니까? – Carcigenicate
어디에서 실패 했습니까?이 문제를 해결하기위한 노력은 무엇입니까? –
이 코드에는 세그먼트 화 오류가 표시되지 않습니다. 하지만 일부 컴파일러에서는 배열을 선언 할 때 상수 값을 주어야한다는 언급은 가치가 있다고 생각합니다. 그렇지 않으면 컴파일러 오류가 발생합니다. – Hamed