题解 | #求最大连续bit数#

/*
*time:2021.7.12:0920 - 0947;
*

  • 段错误易错点: scanf("%d", *n); * 这里有的时候加 & , 有的时候不加& 注意;否则会报段错误,溢出什么的
  • /

    include <stdio.h>

int main()
{
unsigned char data;
int max = 0, cur;
while(EOF != scanf("%d", &data)){
max = 0;
// 对 data 进行 8 次 右移
// 本来做8次的
// 参考排名第一的这里写 data != 0
for(;data;){
cur = 0; // 当前连续1个数清零
// 判断是否有连续1
while(1 == data % 2 ) {
cur++;
data = data >> 1;
}
if(cur >= max) max = cur;
data = data >> 1;
}
printf("%d\n",max);
}
return 0;
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务