标签:return pac nbsp int under cpp 符号 pre lin
如下C++程序所示:
1 #include <cstdio> 2 3 using namespace std; 4 5 int main() 6 { 7 int a = 10, b = 4; 8 printf("%d\n", a % b); 9 printf("%d\n", a % -b); 10 printf("%d\n", -a % b); 11 printf("%d\n", -a % -b); 12 return 0; 13 }
输出结果为:
2
2
-2
-2
那么可以得知:在C++中,%运算结果的符号为%运算符左边的数,与其右边的数无关。
如果想要在C++中让负数模其他数为非负数,那么只需要写成下面这样就行了。
1 a = (a % b + b) % b; // %运算符右边的数为正数时 2 a = (a % b - b) % b; // %运算符右边的数为负数时
标签:return pac nbsp int under cpp 符号 pre lin
原文地址:https://www.cnblogs.com/kcn999/p/10015392.html