求助:我遇到了一个问题,求大神帮忙解答

#include <stdio.h>
int count_bits(unsigned x)
{
	int count = 0;

	while (x) {
		if (x & 1U)
			count++;
		x >>= 1;
	}

	return count;
}

int int_bits(void)
{
	return (count_bits(~0U));
}

void print_bits(unsigned x)
{
	int i;

	for (i = int_bits() - 1; i >= 0; i--)//这一句不懂,求解释
		putchar(((x >> i) & 1U) ? '1' : '0');

	return;
}

int main(void)
{
	unsigned na, nb;

	puts("please enter two integer");
	printf("integer A: ");
	scanf("%u", &na);
	printf("integer B: ");
	scanf("%u", &nb);

	printf("\n A 		= ");
	print_bits(na);

	printf("\n B		= ");
	print_bits(nb);

	printf("\n A & B	= ");
	print_bits(na & nb);

	printf("\n A | B 	= ");
	print_bits(na | nb);

	printf("\n A ^ B 	= ");
	print_bits(na ^ nb);

	printf("\n ~A		= ");
	print_bits(~na);

	printf("\n ~B		= ");
	print_bits(~nb);
	putchar('\n');

	return 0;
}


叫什么名字好呢1
浏览 1330回答 1
1回答

ziom

倒序for循环
打开App,查看更多内容
随时随地看视频慕课网APP