带模数的循环给我一个错误

Loop with modulus gives me an error

这是我第一次发布问题,但这个循环让我发疯。我不知道它有什么问题。它在进入第二个循环的那一刻崩溃了。它看起来不错并且有道理,但仍然不起作用。任何帮助将不胜感激。谢谢!

/**
Author: Yunus Kulyyev
Date: 10-Dec-2016
Description:
**/

#include <iostream>

using namespace std;

int main()
{
    for (int x=1; x < 10; x++)
    {
        cout << x <<": ";
        for (int y = 0; y <= x; y++)
        {
            if (x%y == 0)
            {
            cout << y;
            }
        }
        cout << endl;
    }

    return 0;
}

如果 /% 的第二个操作数为零,则行为为 未定义。请参阅 SO 中的 post。在您的程序中,对于内部 for 循环的第一次迭代,y = 0 因此以下代码片段导致 undefined 行为。

if (x%y == 0) {
    cout << y;
}