-1
我有一個編譯g ++沒有任何錯誤的代碼,但如果我運行en可執行文件並輸入第一個整數值後,我會得到seg錯誤錯誤。以前這段代碼工作正常,但現在我不斷收到這些消息。 我是初學者,我不知道爲什麼會發生這種情況。我的代碼:分割錯誤(核心轉儲),linux,g ++
#include <iostream>
#include <fstream>
using namespace std;
int main(){
int x, y, z,h,m,d,i, a[9][9];
bool f;
for(x==0; x<=8; x++){for(y==0; y<=8; y++){
cin >> z; a[x][y]=z;
// y
};
// x
};
do {
for(x==0; x<=8; x++){for(y==0; y<=8; y++){
if(a[x][y] == 0){
for(i==1 ; i<=9; i++){h=0; for(m==0; m<=8; m++){
if(y>=0 and y<=8){ if(a[x][8-m] != i){h++;};};
if(y>=0 and y<=8){ if(a[x][0+m] != i){h++;};};
if(x>=0 and x<=8){ if(a[8-m][y] != i){h++;};};
if(x>=0 and x<=8){ if(a[0+m][y] != i){h++;};};
if(h==16){a[x][y]=i; h=0;};
//lines
}; h=0;
// i
};
// if 0
};
for(x==0; x<=8; x++){for(y==0; y<=8; y++){
d=d+a[x][y];
// y
};
// x
};
//y
};
// x
};
if(d==360){f==1;};
}
while(f==0);
if (f==1){for(x==0; x<=8; x++){for(y==0; y<=8; y++){
cout << a[x][y];
// y
};
// x
};
};
return 0;
}
除此之外,花括號也存在問題。在'// if 0'行之後,OP在另一個循環中重用x以用於循環更改值中間循環 – MiltoxBeyond 2015-02-08 04:49:38
是的,這將導致OP的外部循環在1次迭代後終止 – Qwertyzw 2015-02-08 05:50:41