欢迎光临散文网 会员登陆 & 注册

C语言经典笔试题解析,原来微软笔试题也有简单的,C语言学习专题

2020-05-11 15:44 作者:C语言基础  | 我要投稿




前言

本文主要介绍的是C语言位运算的一道题,这是微软笔试题中的一道比较简单的的题目,希望对于广大读者学习C语言有一些帮助。深入了解C语言小知识,看题讲程序作用:

int func(x)
{
   int countx =0;
   while(x)
   {
         countx ++;
         x = x&(x-1);
    }
   return countx;
}

知识解析

  1. &:按位与运算

  2. a&b:先把a和b转换为二进制然后 按照每一个二进制位按照逻辑与的运算规则去运算

例如: 2&1的运算如下:


题目分析

通过观察2&1的过程,即可以知道程序是将x转化为2进制看含有的1的个数。如果看的还不是很清楚的同学,你可以再自己写个3&2的过程,再去体会下。故如果x传入9999,则打印返回值应该是:8,运行测试结果如下:


C语言经典笔试题解析,原来微软笔试题也有简单的,C语言学习专题的评论 (共 条)

分享到微博请遵守国家法律