lolskt战队是哪国的:C++中的一个小问题

来源:百度文库 编辑:高考问答 时间:2024/04/28 16:21:07
#include <iostream.h>
void main()
{
int a=5%-3,b=-5%3;
cout<<a<<b;
}
得出啊,a=-2,b=-2,为什么a不是-1,b不是1,求余的标准是什么?
弄错了,a不是-2而是2
弱问一下,什么叫乘法法则?

VC++
求余数,会化成正整数处理
然后再加一个负号。
所以你不要用严谨的数学来刁难盖茨

你应该了解一下取模:

取模就是取余数,如10%3=1,9%3=0

仅作参考!

多谢加分啊!:)

对的啊,
5=3+2,5/3=1余数为2啊

其实你再用个求商的算式,用倒推的想法很容易就能知道原因了
#include<iostream.h>

int main()
{
int a=5%(-3),b=5%3,c=5/-3;
cout<<a<<" "<<b<<" "<<c<<" "<<endl;
return 0;
}
这样输出的结果
2 2 -1

倒过来想,5/-3的结果是-1
那么就是说5==-1*(-3)+2
所以5%-3的结果是2而不是-2

多谢加分:)

求余是
数值部分:求绝对值部分的余数
符号部分:根据乘法法则

你找本C语言的书看看 他的余数是根据 被除数而决定的

不是除数