我需要将二维数组复制到第二个大小相同的数组中,但是while循环在我想要之前完成,我不知道为什么。
这是我的代码。
memcpy( array2, array1, sizeof(array1) );
do
{
for( i = 0; i < rows; i++ )
{
for( j = 0; j < columns; j++ )
{
if( array1[i][j] == '!' )
{
if( array1[(i + 1)][j] == 'o' )
{
array2[(i + 1)][j] = '!';
condition1 = 1;
}
else
{
condition1 = 0;
}
if( array1[(i - 1)][j] == 'o' )
{
array2[(i - 1)][j] = '!';
condition2 = 1;
}
else
{
condition2 = 0;
}
if( array1[i][(j + 1)] == 'o' )
{
array2[i][(j + 1)] = '!';
contidion3 = 1;
}
else
{
condition3 = 0;
}
if( array1[i][(j - 1)] == 'o' )
{
array2[i][(j - 1)] = '!';
condition4 = 1;
}
else
{
condition4 = 0;
}
}
}
}
memcpy( array1, array2, sizeof(array2) );
count++;
}
while( condition1 != 0 && condition2 != 0 && condition3 != 0 && condition4 != 0 );
我已经检查了4个条件变量中每个变量的状态,但每次打印出来时,我都会收到1
的所有变量。我会很感激任何建议。