ที่นี่เราจะดูว่าผลลัพธ์จะเป็นอย่างไรหากเราใช้ตัวเลขติดลบเพื่อให้ได้โมดูลัส ให้เราดูโปรแกรมต่อไปนี้และผลลัพธ์เพื่อทำความเข้าใจ
ตัวอย่าง
#include<stdio.h> int main() { int a = 7, b = -10, c = 2; printf("Result: %d", a % b / c); }
ผลลัพธ์
Result: 3
ในที่นี้ลำดับความสำคัญของ % และ / เหมือนกัน ดังนั้น % กำลังทำงานในตอนแรก ดังนั้น % b กำลังสร้าง 7 ตอนนี้หลังจากหารด้วย c มันกำลังสร้าง 3 สำหรับ % b เครื่องหมายของตัวถูกดำเนินการทางซ้ายจะถูกผนวกเข้ากับผลลัพธ์ มาดูกันชัดๆ
ตัวอย่าง
#include<stdio.h> int main() { int a = 7, b = -10; printf("Result: %d", a % b); }
ผลลัพธ์
Result: 7
หากเราเปลี่ยนเครื่องหมาย a กับ b จะได้ดังรูปด้านล่าง
ตัวอย่าง
#include<stdio.h> int main() { int a = -7, b = 10; printf("Result: %d", a % b); }
ผลลัพธ์
Result: -7
ในทำนองเดียวกันหากทั้งคู่เป็นลบ ผลลัพธ์ก็จะเป็นลบเช่นกัน
ตัวอย่าง
#include<stdio.h> int main() { int a = -7, b = -10; printf("Result: %d", a % b); }
ผลลัพธ์
Result: -7