学习嵌套循环C ++与示例相混淆

时间:2018-08-12 05:15:15

标签: c++ edx

您好,我在嵌套循环上上了一个在线课程,以这个为例,但我真的不知道发生了什么。

下面的代码示例显示嵌套的for循环,以使用字符X和O输出国际象棋或棋盘表示形式。为什么我们需要x和y变量执行一定的次数。而alter =!alternate是什么呢?意思?关于x和y是否会因为它比y供给的次数大就只做8次?这两个for语句在目的上有什么区别?谢谢。

for (int x = 0; x < 8; x++)
{
   for (int y = 0; y < 4; y++)
     {
        if (alternate)
        {
        cout << "X ";
        cout << "O ";

    }
    else
    {
        cout << "O ";
        cout << "X ";

    }
}
alternate = !alternate;

cout << endl;
}

1 个答案:

答案 0 :(得分:0)

变量x用于要打印X-O对的行数。变量y用于指定1行中X-O对的数量。因此,要打印8行X-O对,并且每行打印4对X-O,您应该这样做。

运算符'!'用于获取与值相反的值(它是逻辑非)(例如1到0或false到true)。所以alter =!alternate;表示在每行X-O对之后,它从true变为false,反之亦然。

因此,行的第一个字符(X或O)将根据“替代”变量而变化。