进行数学运算以保持数字不小于零

use*_*460 5 c++ math numbers operation limit

在编程中,模数可用于将数字保持在不超过上限的范围内。

例如:

int value = 0;
for (int x=0; x<100; x++)
    cout << value++%8 << " "; //Keeps number in range 0-7
Run Code Online (Sandbox Code Playgroud)

输出: 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7...


现在考虑这种情况:

int value = 5;
for (int x=0; x<100; x++)
    cout << value-- << " ";
Run Code Online (Sandbox Code Playgroud)

输出: 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7...

我的问题是:如何使用任何条件语句(如if或switch case)将下限限制设置为0,而无

我想要的输出: 5 4 3 2 1 0 0 0 0 0 0 0 ...

bst*_*our 5

怎么std::max

int value = 5;
for (int x=0; x<100; x++) {
    cout << value << " ";
    value = std::max(0, --value);
}
Run Code Online (Sandbox Code Playgroud)