偶然的机会看到这样一个问题2/(-2)的值是多少 ?回顾以往编程经历,只写过正整数整除、取余。整除和取余的操作如下:
1.a = m/n;
2.b = m%n;
这里a,b,m,n满足的关系:a*n + b = m;
C语言定义了当m>=0且n>0时,(0<=b)且(b<n)。那么当m,n不满足条件时,a,b的符号什么呢?为此给出如下调试结果:
根据以上结果分析,得出以下结论:
1.当m、n为异号时,a的符号为负;
2.当m、n为同号时,a的符号为正;
3.取余时b的符号和m保持一致。
注意:以Linux为平台说明该问题。