Do - while循环在条件未完成时停止

时间:2015-11-29 18:12:54

标签: c do-while

我需要将二维数组复制到第二个大小相同的数组中,但是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的所有变量。我会很感激任何建议。

0 个答案:

没有答案