黑马程序员技术交流社区

标题: 【手打】判断一个数是不是偶数(2) [打印本页]

作者: 悄然林静    时间: 2016-7-23 23:16
标题: 【手打】判断一个数是不是偶数(2)
如题,接着上一篇帖子的一般方法,下面是精简方法:
  1. #include<stdio.h>

  2. int main()
  3. {
  4.     for(int i=1;;i++)
  5.     {int num;
  6.     printf("请输入一个整数:\n");
  7.     scanf("%d",&num);
  8.    
  9.     if((num&1)==0)              //偶数的二进制数形式末位一定为0,所以num&1==0时输入的数就一定是偶数
  10.     {
  11.         printf("%d是偶数\n---------------\n",num);
  12.     }
  13.     else    printf("%d不是偶数\n---------------\n",num);
  14.     i++;
  15.     }
  16. }
复制代码
与上个帖子中的num%2==0相比,num&1==0实际工作中更常见,而且执行效率更高。

作者: Gyj900730@    时间: 2016-8-28 01:27
这方法妙,有内涵.
作者: 名侦探柯基    时间: 2016-8-28 12:39
学到了,感谢!
作者: 1871037345    时间: 2016-8-28 12:48
弱弱问一句 for  里边最后的 i++ 是什么意思。
作者: 小海盗。    时间: 2016-8-29 10:59
1871037345 发表于 2016-8-28 12:48
弱弱问一句 for  里边最后的 i++ 是什么意思。

是不是大while 习惯了.哈哈,反正写while老爱忘记i++;所以一般一写while就在末尾先写上i++,其实他那是死循环(永真)还不如while(1)这样看着好看,或者直接for( ; ; ) {}反正你在循环体,也用不到i变量.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2