为了账号安全,请及时绑定邮箱和手机立即绑定

mycode

#include <iostream>
#include <stdlib.h>
using namespace std;
 
 
namespace myNum
{
    int x=102;
    bool getX()
    {
        if(x/2){
            cout<<x<<"是奇数";
        }
        else
        {
            cout<<x<<"是偶数";
        }
    }
}

int main()
{
   
   myNum::getX();
	return 0;
}


正在回答

1 回答

if括号中的只要不是0,那么都是真的,就执行其后的语句,而x/2显然是大于0的数,所以执行了第一句,跟你预期的不一样。

通常,我们用x%2来判断,也就是求余。

求余是指:一个数除以另一个数,不够除的部分就是余数,就是求余的结果。

例如:3%2,余数为1;

其计算公式为:3%2 = (2+1)%2 = 2%2+1%2 = 0+1 = 1 ;

上述公式中:

2除2是可以除尽的,没有余数,所以余数为0;

因为1小于2,1除2是不够除的,有余数,且余数是1;

两者相加,综合结果为1。


  另外,数学中,整除是指:一个数除以另一个数,刚刚好的倍数;不够一倍的都将舍去,并不四舍五入。

例如:3/2,整除得1。

其计算公式为:3/2 = (2+1)/2 = 2/2+1/2 = 1+0 = 1 ;

上述公式中:

2除2是可以除尽的,整除结果为1;

因为1小于2,1除2是不够除的,不够除的都将舍去,整除结果为0;

两者相加,综合结果为1。

2 回复 有任何疑惑可以回复我~
#1

菠萝菠萝蜜 提问者

非常感谢!
2015-12-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之起航篇
  • 参与学习       291033    人
  • 解答问题       760    个

C++亮点尽在其中,本课程是在C语言基础上的一个延伸,得以升华

进入课程
意见反馈 帮助中心 APP下载
官方微信