如何在 C++ 中使用像 div 这样的 cmath 函数?

How to use cmath functions like div in C++?

我是 C++ 的新手,我不确定如何使用某些 cmath 函数,例如 div。

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
    int n;
    cin >> n;

    if (n < 10) {
        cout << div(n , 2);
    }

    return 0;
}

cout << div(n , 2) 不起作用的原因是因为 div 不是 return 数字,而是 div return 是一个具有 2 个值的结构在那里,quotrem.

因此,当您使用 div(10, 3) 时,它将 returns 一个包含 .quot == 3.rem == 1 的对象。

要打印 div 的结果,您需要先存储结果,然后分别打印每个成员:

auto result = std::div(10, 3);
std::cout << "Quot: " << result.quot << '\n';
std::cout << "Rem: " << result.rem << '\n';