c語言中做除法和取余操作有以下幾點規定:
q = a / b;
r = a % b;
1. 最重要一點:q * b + r == a;即 商 乘以 除數 加上 余數 等於 被除數;
2. 改變被除數a 的正負號,希望商q 的符號也隨之改變,但商q 的絕對值不會改變;
3. 余數和被除數的正負號相同;
#include <stdio.h> int main(int argn ,char *argv[]) {
// (-1) * (-2) + 1 = 3
// 余數1和被除數3符號相同
int r = 3 / (-2); //-1 int rr = 3 % (-2); //1
// 1 * 2 + 1 = 3
// 除數符號改變,商的符號也隨之改變
// 余數1 和 被除數3 符號相同
r = 3 / 2; //1 rr = 3 % 2; //1
// (-1) * 2 + (-1) = -3;
// 被除數符號改變,商r = -1也隨之改變;
// 余數-1 和 被除數-3 符號相同
r = -3 / 2; //-1 rr = -3 % 2; //-1 return 0; }