有点问题不太懂
这是明解c语言的代码清单7-6的函数部分
int count_bits(unsigned x)
{
int bits = 0;
while (x)
{
if (x & 1U)
bits++;
x >>= 1;
} //返回整数x中设置的位数
return bits;
}
int int_bits()
{
return count_bits(~0U);
}//返回unsigned型的位数
void print_bits(unsigned x)
{
int i;
for (i = int_bits() - 1; i >= 0; i--)
putchar(((x >> i) & 1U) ? '1' : '0');
}// 显示unsigned型的位的内容
我觉得第一部分代码 也就是count_bits部分的代码是显示位数
那么如果我想检验7 这个数字 那不应该输出3 么
但结果好像不是这样
我肯定有哪点不懂
希望各位可以帮忙
还有想问一下 c中有什么简单的方法监视函数内部的运行情况吗?