输入abcd,如果只布一个雷(1,2),输312进去是正常运行的,但是先输3 1 1然后输3 1 2,程序就会把a默认为1,然后进入first_is_1里面去运行了。
int main(void)
{
int minefield[SIZE][SIZE];
int number;
printf("Welcome to minesweeper!\n");
printf("How many mines? ");
scanf("%d", &number);
Point point[SIZE];
printf("Enter pairs:\n");
int i = 0;
while (number > i)
{
scanf("%d%d", &point[i].y, &point[i].x);
i++;
}
init_field(minefield, point, number);
printf("Game Started\n");
print_minefield(minefield);
int a,b,c,d;
while (scanf("%d %d %d %d",&a,&b,&c,&d) != EOF) {
if (a == 1){
first_is_1(b,c,d,point,number);
}
if (a == 2){
first_is_2(b,c,d,point,number);
}
if (a == 3){
first_is_3(b,c,point,number,minefield);
}
print_minefield(minefield);
}
return 0;
}