嗨,我需要有关程序的帮助。部分代码似乎无法按预期工作:
void up(int pole[4][4])
{
int i,j;
for (i = 3; i >= 1; i--)
{
for (j = 3; j >= 0; i--)
{
if (pole[i][j] == pole[i-1][j])
{
pole[i-1][j] += pole[i][j];
pole[i][j] = 0;
}
}
}
system("cls");
for (i = 0; i < 4; i++)
{
for(j = 0; j < 4; j++)
{
printf("%d ", pole[i][j]);
}
printf("\n");
}
}
当我像这样在switch中调用函数时:
switch(keynumber)
{
case 119: //w
up(base);
break;
我刚结束我的程序崩溃。
我这样做的原因是我想在控制台上进行2048游戏,所以首先我创建了一个数组,该数组的2个随机元素将是数字2,然后根据您要按的键比较这些元素。
最佳答案
for (i = 3; i >= 1; i--)
{
for (j = 3; j >= 0; i--) // Why here is i-- ?? instead if j--
{
if (pole[i][j] == pole[i-1][j])
{
pole[i-1][j] += pole[i][j];
pole[i][j] = 0;
}
}
}
当第二个循环中断时?
关于c - 比较数组中的元素时我的程序崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40679424/