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; }
2015-05-11
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。