首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++算术运算符的有关问题

2012-10-27 
C++算术运算符的问题[codeC/C++][/code]int main(){cout21%(-5)endlreturn 0}这段代码的运行结果是

C++算术运算符的问题
[code=C/C++][/code]int main()
{
  cout<<21%(-5)<<endl;
  return 0;
}

这段代码的运行结果是1;书上说可能是1或-4(C++primer)。我想知道为什么会出现-4?
还有书上说若操作数的结果为随分子的符号,则除出来的结果向零取整。这里没有小数怎么有向零取整??

[解决办法]
21%-5=-4

解答:
21%5=1,由于5的符号是负号,这个时候,需要将21%5的余数和-5相加得出的结果才为21%-5的值
[解决办法]
21=(-5)*(-4)+1;
则21%(-5)=1
21=(-5)*(-5)+(-4);
则21%(-5)=-4

热点排行
Bad Request.