c语言对负数取模是什么?

如题所述

取模运算符是% ,对负数取模不一定都是正数。

例如:

例一:int main(){
int x;     

x = -6%5; printf("%2d/n",x);        

x = 6%-5; printf("%2d/n",x);        

x = 1%-5; printf("%2d/n",x);       

x = -1%-5; printf("%2d/n",x);     

x = -6%-5; printf("%2d/n",x); 

}

运行结果为:-1、1 、1 、-1、 -1

例二:#include <stdio.h>int main()
{
int x;    

x = 5%-6;

printf("%2d/n",x);  

x = 5%-6; printf("%2d/n",x);   

x = -5%6; printf("%2d/n",x);        

x = 4%5;   printf("%2d/n",x);       

x = -4%-5; printf("%2d/n",x);   

x = -5%-6; printf("%2d/n",x); 

}

运行结果为:5、-5 、 4、-4、-5


扩展资料:

取模运算运算规则:

模运算与基本四则运算有些相似,但是除法例外。其规则如下:

(a + b) % p = (a % p + b % p) % p 

(a - b) % p = (a % p - b % p) % p

(a * b) % p = (a % p * b % p) % p 

a ^ b % p = ((a % p)^b) % p 

结合律:

((a+b) % p + c) % p = (a + (b+c) % p) % p 

((a*b) % p * c)% p = (a * (b*c) % p) % p 

交换律:

(a + b) % p = (b+a) % p 

(a * b) % p = (b * a) % p 

分配律:

(a+b) % p = ( a % p + b % p ) % p 

((a +b)% p * c) % p = ((a * c) % p + (b * c) % p) % p 

参考资料:

百度百科-取模运算

温馨提示:答案为网友推荐,仅供参考
相似回答