Это неопределенное поведение, если промежуточный результат выражения переполняется?

Этот вопрос является результатом другогоТАК вопрос.

Пример кода

#include 

int main()
{
    unsigned long b = 35000000;
    int i = 100;
    int j = 30000000;
    unsigned long n = ( i * j ) / b; // #1
    unsigned long m = ( 100 * 30000000 ) / b; // #2
    std::cout < n < std::endl;
    std::cout < m < std::endl;
}

Ответы на вопрос(5)

Ваш ответ на вопрос