为什么我的if语句不适用于for循环?

时间:2017-09-28 00:10:08

标签: c++ for-loop if-statement

所以这是我的第二个程序,我尝试在for循环中编写if语句。第一个是不必要的,但这个“需要”它。我把需求放在引号中,因为我是C ++的新手,并没有学习/想到另一种方法。

我的节目:

int main()
{
    int x, z;
    cout << " x | z |                  y\n"
         << "---------------------------\n";
    for (x = 1; x <=5; x++)
    {
        for (z = 2; z <= 6; z++)
        {
            double y = x*z/(x-z);
            if (x - z == 0)
            {
                cout << setw(2) << x << setw(4) << z << setw(21) << "Function Undefined\n";
            }
            else if (x - z != 0)
            {
                cout << setw(2) << x << setw(4) << z << setw(21) << y << endl;
            }
        }
    }
    return 0;
}

当我运行它时,我得到一个表,第一个循环序列(x = 1)已完成,但随后崩溃(Windows正在查找弹出的解决方案框)。它仅为x = 1写出正确的值(外部循环不会重复到x = 2,依此类推)。

为什么会这样?

2 个答案:

答案 0 :(得分:4)

«耳语»......嘿......你除以0男孩......

答案 1 :(得分:1)

你把if语句放在实际数学之前。如果除以零,则会发生错误。 将数学放在else if块中。