Ở đây ta xem kết quả phép modulus với số âm.
Ví dụ 1
#include <stdio.h>
int main() {
int a = 7, b = -10, c = 2;
printf("Result: %d", a % b / c);
return 0;
}
Kết quả
Result: 3
Độ ưu tiên % và / ngang nhau. % thực hiện trước: a % b = 7. Chia cho c = 3. Dấu của toán hạng trái gán cho kết quả.
Ví dụ 2
#include <stdio.h>
int main() {
int a = 7, b = -10;
printf("Result: %d", a % b);
return 0;
}
Kết quả
Result: 7
Ví dụ 3: Đổi dấu a
#include <stdio.h>
int main() {
int a = -7, b = 10;
printf("Result: %d", a % b);
return 0;
}
Kết quả
Result: -7
Ví dụ 4: Cả hai âm
#include <stdio.h>
int main() {
int a = -7, b = -10;
printf("Result: %d", a % b);
return 0;
}
Kết quả
Result: -7
Kết luận: dấu kết quả theo dấu toán hạng trái (dividend).