相关疑难解决方法(0)

带负数的模运算

在ac程序中我正在尝试以下操作(只是检查行为)

 x = 5 % (-3);
 y = (-5) % (3);
 z = (-5) % (-3); 

printf("%d ,%d ,%d", x, y, z); 
Run Code Online (Sandbox Code Playgroud)

给我输出为(2, -2 , -2)gcc.我每次都期待一个积极的结果.模数可以为负数吗?任何人都可以解释这种行为吗?

c gcc modulo

172
推荐指数
8
解决办法
18万
查看次数

测试一个数字是否均匀分配到6?

我试图看看包含负数的两个输入数字(整数)是否均匀地进入6(余数为0).这是我正在尝试的代码.

if((in1)%6 == 0 && (in2)%6 == 0){
    printf("Divisible: both\n");
}
else if((in1)%6 == 0 && (in2)%6 > 0){
    printf("Divisible: only %i\n",in1);
}
else if((in1)%6 > 0 && (in2)%6 == 0){
    printf("Divisible: only %i\n",in2);
}
else{
    printf("Divisible: neither\n");}
Run Code Online (Sandbox Code Playgroud)

这适用于所有正整数,但对于任何负数,打印的代码总是"可分割:不"任何帮助我如何显示正整数和负数可被6整除,余数为0将是非常有帮助的

c modulo

-1
推荐指数
1
解决办法
57
查看次数

标签 统计

c ×2

modulo ×2

gcc ×1