for里面的printf是怎么执行的

/*把一个十进制数以二进制输出*/
#include

int main(void)
{
const int bit = sizeof(int) * 8; //判断整型有多少位
unsigned int bak = 1 << bit-1; //一个数只有第一位为1,其余全为0
int num;
int i;

printf("请输入一个数:");
scanf("%d", &num);

for(i = 1; i <= bit; ++i)
{
/*  if(num & bak)        //相与的结果只有0或者不是0,不是0则输出字符1
    {
        printf("%c", '1');
    }
    else
    {
        printf("%c", '0');
    }
    bak = bak >> 1;      //每一次把bak右移一位
*/
    printf("%c", num < 0 ? '1' : '0');
    num <<= 1;  
}
printf("\n");

return 0;

}

查看全部
u014332462
skytechfyh
2015/06/09 03:32
  • printf c num 0 1 0
  • 点赞
  • 收藏
  • 回答
    私信

8个回复