标题:从键盘获取一个short整数,计算它有多少个bit是1.
取消只看楼主
网络小白
Rank: 2
等 级:论坛游民
帖 子:26
专家分:35
注 册:2014-9-13
结帖率:77.78%
已结贴  问题点数:20 回复次数:0 
从键盘获取一个short整数,计算它有多少个bit是1.
从键盘获取一个short整数,计算它有多少个bit是1.
#include <stdio.h>
#include<stdlib.h>
#include<tchar.h>
#include<conio.h>
#include<string.h>

int main(void)
{
    printf("请随意按键:");
    short int n;
    scanf_s("%d", &n);
    int q = 0;
    int num = 1;
    int f = n;
    while (q < 16)
    {
        
        if (((f = f >> q) & 1) == 1)
        {
            num = num + 1;
        }
        q++;

    }
    printf("该整数有%d个bit是1", num);
    system("pause");
    return 0;

}
我写的但是超过15就不对了。而且每次都报错Run-Time Check Failure #2 - Stack around the variable 'n' was corrupted.

[此贴子已经被作者于2016-5-23 22:39编辑过]

搜索更多相关主题的帖子: 键盘 system include 
2016-05-23 22:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-465173-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023163 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved