在C语言中,%的两边可有负整数参与吗? 如果有,怎么计算?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 18:38:32

在C语言中,%的两边可有负整数参与吗? 如果有,怎么计算?
在C语言中,%的两边可有负整数参与吗? 如果有,怎么计算?

在C语言中,%的两边可有负整数参与吗? 如果有,怎么计算?
当然可以,a%b 实际上等价于 a-(a/b)*b (其中a/b 是取整,都是带符号一起运算)
测试程序:
#include
int main()
{
int a,b;
while(scanf("%d%d",&a,&b)==2)
{
printf("%d %% %d = %d\n",a,b,a%b);
}
return 0;
}
测试结果为:
3 2
3 % 2 = 1
2 3
2 % 3 = 2
-7 2
-7 % 2 = -1
-7 -2
-7 % -2 = -1
3 -2
3 % -2 = 1