在编程中,模数有助于将数字保持在不超过上限的范围内。
例如:
int value = 0;
for (int x=0; x<100; x++)
cout << value++%8 << " "; //Keeps number in range 0-7
输出:
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-- << " ";
输出:5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7...
我的问题是:如何使用任何条件语句(如 if 或 switch case)将下限设置为 0 WITHOUT?
我想要的输出:5 4 3 2 1 0 0 0 0 0 0 0 ...
最佳答案
std::max
怎么样?
int value = 5;
for (int x=0; x<100; x++) {
cout << value << " ";
value = std::max(0, --value);
}
关于c++ - 保持数字不小于零的数学运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22841436/