C语言中取余…

-10%3和10%-3有什么不同啊?

%就是取余数运算,也就是模运算(mod)。

10/3在C语言里是整除的意思,结果是3

10%3是求余,结果是余数1

10.0/3会转换为两个double型的数相除,答案是3.3333

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-06
公式b=a%n=a-int(a/n)*n;
-10%3
=-10- int(-10/3)*3
=-10- (-3*3)
=-10+9
=-1

10%-3
=10-int(10/-3)*-3
=10-(-3*-3)
=10-9
=1

得-1和1。取负数的模很少用。
第2个回答  2011-12-06
补码不一样,运行的时候可能要对负数取补
第3个回答  2011-12-06
余数的正负号取决于除数,而与被除数无关。
比如 -10%3=-1,-10%-3=-1
10%3=1 10%-3=1
解答完毕,坐等楼主采纳。
第4个回答  推荐于2017-11-24
求余、模运算符(%)时要求两数必须是整型数据。余数正负号与被除数相同。例如:
7%4的结果是3
-7%4的结果是-3
3%-4的结果是3
楼上被除数与除数都分不清
在除法算式中,除号后面的数叫做除数。   
例:8÷2=4则2为除数。8为被除数。   
除数不能为0,否则没有意义。   
8除以2等于4。本回答被提问者采纳
相似回答