-3
私のコードに何が問題なのですか?それはボードを表示した後にクラッシュします。文字の機能に何か間違いはありますか?私はこれを少なくとも1時間混乱させましたが、私はまだ問題が何かを知ることができません。ここでシンプルなCプログラムがクラッシュする
は私のコードです:
#include <stdio.h>
void gameboard(char board[8][8])
{
int x, y;
for(x=0; x<16; x++)
{
for(y=0; y<8; y++)
{
if(x % 2 == 0)
{
printf(" %c ", board[x][y]);
}else{
printf("| %c |",board[x][y]);
}
}printf("\n");
}
}
void character(char board[8][8])
{
int x,y;
for(x=0;x<16;x++){
for(y=0;y<8;y++){
if(x<6){
if(x%2 == 0){
if(x%2 == 0){
board[x][y] = ' ';
}
}
if(x%2 == 1){
if(y%2 == 0){
board[x][y] = 'O';
}
if(y%2 ==1){
board[x][y]= ' ';
}
}
if(x==3){
if(y%2 == 1){
board[x][y] = 'O';
}
if(y%2 == 0){
board[x][y] = ' ';
}
}
}
if((x==6)||(x==7)||(x==8)||(x==9)){
board[x][y] = ' ';
}
if(x>9)
{
if(x%2 == 0){
if(x%2 == 0){
board[x][y] = 'X';
}
if(y%2 == 0){
board[x][y] = ' ';
}
}
if(x%2 == 1){
if(y%2 == 1){
board[x][y] = ' ';
}
}
if(x==12){
if(y%2 == 0){
board[x][y] = 'X';
}
if(y%2 == 1){
board[x][y] = ' ';
}
}
}
}
}
}
int main()
{
char bx[8][8];
character(bx);
gameboard(bx);
return 0;
}
デバッガでコードをステップしましたか?あなたはおそらく、配列の範囲外のインデックスを作成しています。適切なデバッグ技術を学ぶことは、言語を学ぶことと同じくらい重要です。 – OldProgrammer