在这里,我们将看到如果使用负数获取模量将得到什么结果。让我们看下面的程序及其输出,以了解这个想法。
#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