Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
5年前关闭。
如何用C语言进行模运算?
请在下面阅读我的代码。
结果是
请告诉我如何正确使用它。
编辑
抱歉,我在代码中犯了一个错误。划分应该像下面的代码一样走到另一边。
我期望的是当值乘以100时得到
我为这个错误感到抱歉。但是,伙计们,请撤消我的反对票。
可以重写为a = b * d + c,其中a,b,c,d是整数。
因此,100%40 = 20,因为100 = 40 * 2 + 20
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
5年前关闭。
如何用C语言进行模运算?
请在下面阅读我的代码。
#include <stdio.h>
int main(void)
{
int i = 100;
printf("%d\n", i%100);
printf("%d\n", i%240);
printf("%d\n", i%40);
printf("%d\n", i%10);
return 0;
}
结果是
$ ./modulus
0
100
20
0
请告诉我如何正确使用它。
编辑
抱歉,我在代码中犯了一个错误。划分应该像下面的代码一样走到另一边。
printf("%d\n", 100%i);
printf("%d\n", 240%i);
printf("%d\n", 40%i);
printf("%d\n", 10%i);
我期望的是当值乘以100时得到
0
;我为这个错误感到抱歉。但是,伙计们,请撤消我的反对票。
最佳答案
好吧,它正常工作。您期望看到什么?
模运算符(模运算的实现),使您除法余数。例如:
a % b = c
可以重写为a = b * d + c,其中a,b,c,d是整数。
因此,100%40 = 20,因为100 = 40 * 2 + 20
关于c - 在C中使用模运算符会产生一些奇怪的结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22500889/
10-09 04:29