c语言函数嵌套调用疑惑
/* 显示unsigned型的位串
*/
#include <stdio.h>
// 返回在整数x中设置的位数
int count_bits(unsigned x)
{
int count = 0;
while (x) {
if (x & 1U) count++;
x >>= 1;
}
return (count);
}
// 返回unsigned型的位数
int int_bits(void)
{
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');
}
int main(void)
{
unsigned nx;
printf("请输入一个非负整数:");
scanf("%u", &nx);
print_bits(nx);
putchar('\n');
return (0);
}
自学实在是看不懂这个程序了,来求助大家,先执行main函数,调用 print_bits函数, print_bits函数接受实参, print_bits函数在调用int_bits函数,
到这一步就看不懂了,int_bits函数没有形参,那这个函数的作用是什么?