使用vscode编写c程序时遇到的问题
最初是
#define ROW 3
#define COL 3
改为为
#define ROW 10
#define COL 10
后,board数组的大小为什么仍然为3x3呢
#define ROW 10
#define COL 10
#include <stdio.h>
void init_board(char board[ROW][COL]);
void display_board(char board[ROW][COL]);
#include "game.h"
void init_board(char board[ROW][COL])
{
int i = 0;
int j = 0;
for (i = 0; i < ROW; i++)
{
for (j = 0; j < ROW; j++)
{
board[i][j] = ' ';
}
}
}
void display_board(char board[ROW][COL])
{
int i = 0;
int j = 0;
for (i = 0; i < ROW; i++)
{
for (j = 0; j < COL; j++)
{
printf(" %c ", board[i][j]);
if (j < (COL - 1))
{
printf("|");
}
}
printf("\n");
if (i < (ROW - 1))
{
for (j = 0; j < COL; j++)
{
printf("---");
if (j < (COL - 1))
{
printf("|");
}
}
}
}
}
//三子棋
#include "game.h"
//#include "game.c"
void menu()
{
printf("*****************************\n");
printf(" 1.开始游戏 0.退出游戏 ***\n");
printf("********************************\n");
}
void game()
{
char board[ROW][COL] = {0};
init_board(board);
display_board(board);
}
void test()
{
menu();
int input = 0;
do
{
printf("请选择:>");
scanf("%d", &input);
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误,请重新选择\n");
break;
}
} while (input);
}
int main()
{
test();
return 0;
}
最初是 #define ROW 3 #define COL 3 改为为 #define ROW 10 #define COL 10后,需重新编译。修改如下,供参考:
#include <stdio.h>
#include "game.h"
#define ROW 10
#define COL 10
void init_board(char board[ROW][COL]);
void display_board(char board[ROW][COL]);
void init_board(char board[ROW][COL])
{
int i = 0;
int j = 0;
for (i = 0; i < ROW; i++)
{
for (j = 0; j < COL; j++) //for (j = 0; j < ROW; j++)
{
board[i][j] = ' ';
}
}
}
void display_board(char board[ROW][COL])
{
int i = 0;
int j = 0;
for (i = 0; i < ROW; i++)
{
for (j = 0; j < COL; j++)
{
printf(" %c ", board[i][j]);
if (j < (COL - 1))
{
printf("|");
}
}
printf("\n");
if (i < (ROW - 1))
{
for (j = 0; j < COL; j++)
{
printf("---");
if (j < (COL - 1))
{
printf("|");
}
}
}
printf("\n");
}
}
//三子棋
#include "game.h"
//#include "game.c"
void menu()
{
printf("*****************************\n");
printf(" ***1.开始游戏 0.退出游戏***\n");
printf("*****************************\n");
}
void game()
{
char board[ROW][COL] = {0};
init_board(board);
display_board(board);
}
void test()
{
menu();
int input = 0;
do{
printf("请选择:>");
scanf("%d", &input);
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误,请重新选择\n");
break;
}
} while (input);
}
int main()
{
test();
return 0;
}